在想看下共享內存如何實現的時候,剛好想了解一下內存使用情況。
簡介
分頁機制讓我們在程序開發的時候不需要管理內存的,也不需要操心內存夠不夠用它是實現虛擬存儲的關鍵,位於線性地址與物理地址之間。
- 整個主內存區域劃分成 4096 字節(4k)爲一頁的內存頁面
- 程序申請使用內存時,就以內存頁爲單位進行分配
通過頁目錄表PDE和二級頁表PTE實現轉換
- 進程的虛擬地址需要首先通過其局部段描述符變換爲 CPU 整個線性地址空間中的地址
然後再使用頁目錄表 PDE(一級頁表)和頁表 PTE(二級頁表)映射到實際物理地址頁上
頁表中,每項的大小是32b,其中20b用來存放頁面的物理地址,12b用於存放屬性信息。頁表含有1M個表項,每項4B。第一級表是頁目錄,存放在1頁4k頁面中,含有1K個表項。第二級是頁表,也是1K個表項
總結
1.分頁的作用,高效率地利用內存,可以運行比物理內存空間更大的程序;
2.分頁機制的原理,利用兩級頁表將內存分割成4KB/頁的大小,強制內存對齊提高效率;
3.頁表結構,PDE與PTE在內存中各個位的主要作用,表項與頁之間的對應關係。