首頁  >  文章  >  運維  >  Linux核心頁表及頁表快取原理是什麼

Linux核心頁表及頁表快取原理是什麼

WBOY
WBOY轉載
2023-05-14 14:52:061500瀏覽

一、相關概念

【頁】:進程中的區塊。
【頁框】:記憶體中的區塊。
【頁表】:特殊資料結構,存放系統空間的頁表區域(存放邏輯頁與實體頁幀的對應關係)。每個行程都有自己的頁表,PCB 表中有指標指向頁表。

二、頁表項

(1)邏輯位址(頁號,偏移量),邏輯位址就是虛擬位址。例如二級頁表的頁表項如下:

Linux核心頁表及頁表快取原理是什麼

(2)物理位址(頁框號,偏移量)。映射關係如下:

Linux核心頁表及頁表快取原理是什麼

三、頁表快取

【頁表快取】:CPU 記憶體管理單元(MMU),處理器製造廠商在記憶體管理單元中增加的高速緩存(稱為頁表快取)。作用將虛擬位址轉換成實體位址。

Linux核心頁表及頁表快取原理是什麼

四、它們的關係

  1. #頁表由多個頁表項構成,頁表中每一個行為一個頁表項。

  2. 頁框號:專門用於儲存虛擬頁面對應的實體頁面。

  3. 頁表項由硬體設計。

  4. 頁目錄,為頁表提供目錄(二維結構),支援多層查找。當一個應用程式在CPU上執行時,需要將頁目錄的起始位址放到暫存器中(因為虛擬位址的轉換過程需要偏移量)。

  5. MMU的工作流程:CPU 取得虛擬位址–>MMU 查詢頁目錄–>MMU 查詢頁表–>MMU 取得頁表項–> MMU 取得到實體頁面編號–>MMU 取得實體位址。

#

以上是Linux核心頁表及頁表快取原理是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除