Linux內(nèi)核頁表及頁表緩存原理
一、相關(guān)概念
【頁】:進(jìn)程中的塊。
【頁框】:內(nèi)存中的塊。
【頁表】:特殊數(shù)據(jù)結(jié)構(gòu),存放系統(tǒng)空間的頁表區(qū)域(存放邏輯頁與物理頁幀的對應(yīng)關(guān)系)。每個進(jìn)程都有自己的頁表,PCB 表中有指針指向頁表。
二、頁表項
(1)邏輯地址(頁號,偏移量),邏輯地址就是虛擬地址。比如二級頁表的頁表項如下:

(2)物理地址(頁框號,偏移量)。映射關(guān)系如下:

三、頁表緩存
【頁表緩存】:CPU 內(nèi)存管理單元(MMU),處理器制造廠商在內(nèi)存管理單元中增加的一個高速緩存(稱為頁表緩存)。作用將虛擬地址轉(zhuǎn)換成物理地址。

四、它們的關(guān)系
- 頁表由多個頁表項構(gòu)成,頁表中每一行為一個頁表項。
- 頁框號:專門用于存儲虛擬頁面對應(yīng)的物理頁面。
- 頁表項由硬件設(shè)計。
- 頁目錄,為頁表提供目錄(二維結(jié)構(gòu)),支持多級查找。當(dāng)一個應(yīng)用程序在CPU上運(yùn)行時,需要將頁目錄的起始地址放到寄存器中(因?yàn)樘摂M地址的轉(zhuǎn)換過程需要偏移量)。
- MMU的工作過程:CPU 獲取虛擬地址–>MMU 查詢頁目錄–>MMU 查詢頁表–>MMU 獲取頁表項–>MMU 獲取到物理頁面編號–>MMU 獲取物理地址。
相關(guān)文章
Linux命令學(xué)習(xí)總結(jié)之rm命令
rm命令用來刪除Linux系統(tǒng)中的文件或目錄。通常情況下rm不會刪除目錄,你必須通過指定參數(shù)-r或-R來刪除目錄。接下來通過本文給大家分享Linux命令學(xué)習(xí)總結(jié)之rm命令,對linux rm命令相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2016-01-01
關(guān)于Linux本地虛擬機(jī)ping不通,未知的名稱或服務(wù)已解決
在配置虛擬機(jī)網(wǎng)絡(luò)時,首先需要在本地檢查本機(jī)IP和網(wǎng)關(guān),確保與虛擬機(jī)中的虛擬網(wǎng)卡設(shè)置一致,具體步驟包括使用cmd命令行工具通過ipconfig命令查看本機(jī)的IP地址和網(wǎng)關(guān),確認(rèn)虛擬網(wǎng)卡的IP地址在相同網(wǎng)段且網(wǎng)關(guān)設(shè)置正確2024-11-11
centos7 設(shè)置grub密碼及單用戶登錄實(shí)例代碼
這篇文章主要介紹了centos7 設(shè)置grub密碼及單用戶登錄實(shí)例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
CentOS安裝Python2.7與Python2.6并存的方法
這篇文章主要介紹了CentOS安裝Python2.7與Python2.6并存的方法,非常具有實(shí)用價值,需要的朋友可以參考下2017-08-08
centos下yum搭建安裝linux+apache+mysql+php環(huán)境的方法
這篇文章主要介紹了centos下yum搭建安裝linux+apache+mysql+php環(huán)境的方法,本文分步驟給大家介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友可以參考下2016-10-10
CentOS7將Nginx添加系統(tǒng)服務(wù)的方法步驟
這篇文章主要介紹了CentOS7將Nginx添加系統(tǒng)服務(wù)的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03

