Linux操作系統 - 淺析分頁機制

在想看下共享內存如何實現的時候,剛好想了解一下內存使用情況。

簡介

分頁機制讓我們在程序開發的時候不需要管理內存的,也不需要操心內存夠不夠用它是實現虛擬存儲的關鍵,位於線性地址與物理地址之間。

  • 整個主內存區域劃分成 4096 字節(4k)爲一頁的內存頁面
  • 程序申請使用內存時,就以內存頁爲單位進行分配
  • 通過頁目錄表PDE和二級頁表PTE實現轉換

    • 進程的虛擬地址需要首先通過其局部段描述符變換爲 CPU 整個線性地址空間中的地址
    • 然後再使用頁目錄表 PDE(一級頁表)和頁表 PTE(二級頁表)映射到實際物理地址頁上

      頁表中,每項的大小是32b,其中20b用來存放頁面的物理地址,12b用於存放屬性信息。頁表含有1M個表項,每項4B。第一級表是頁目錄,存放在1頁4k頁面中,含有1K個表項。第二級是頁表,也是1K個表項
      

      這裏寫圖片描述

總結

  1.分頁的作用,高效率地利用內存,可以運行比物理內存空間更大的程序;

  2.分頁機制的原理,利用兩級頁表將內存分割成4KB/頁的大小,強制內存對齊提高效率;

  3.頁表結構,PDE與PTE在內存中各個位的主要作用,表項與頁之間的對應關係。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章