Linux內(nèi)核頁表及頁表緩存原理
一、相關(guān)概念
【頁】:進(jìn)程中的塊。
【頁框】:內(nèi)存中的塊。
【頁表】:特殊數(shù)據(jù)結(jié)構(gòu),存放系統(tǒng)空間的頁表區(qū)域(存放邏輯頁與物理頁幀的對(duì)應(yīng)關(guān)系)。每個(gè)進(jìn)程都有自己的頁表,PCB 表中有指針指向頁表。
二、頁表項(xiàng)
(1)邏輯地址(頁號(hào),偏移量),邏輯地址就是虛擬地址。比如二級(jí)頁表的頁表項(xiàng)如下:
(2)物理地址(頁框號(hào),偏移量)。映射關(guān)系如下:
三、頁表緩存
【頁表緩存】:CPU 內(nèi)存管理單元(MMU),處理器制造廠商在內(nèi)存管理單元中增加的一個(gè)高速緩存(稱為頁表緩存)。作用將虛擬地址轉(zhuǎn)換成物理地址。
四、它們的關(guān)系
- 頁表由多個(gè)頁表項(xiàng)構(gòu)成,頁表中每一行為一個(gè)頁表項(xiàng)。
- 頁框號(hào):專門用于存儲(chǔ)虛擬頁面對(duì)應(yīng)的物理頁面。
- 頁表項(xiàng)由硬件設(shè)計(jì)。
- 頁目錄,為頁表提供目錄(二維結(jié)構(gòu)),支持多級(jí)查找。當(dāng)一個(gè)應(yīng)用程序在CPU上運(yùn)行時(shí),需要將頁目錄的起始地址放到寄存器中(因?yàn)樘摂M地址的轉(zhuǎn)換過程需要偏移量)。
- MMU的工作過程:CPU 獲取虛擬地址–>MMU 查詢頁目錄–>MMU 查詢頁表–>MMU 獲取頁表項(xiàng)–>MMU 獲取到物理頁面編號(hào)–>MMU 獲取物理地址。
相關(guān)文章
centeros7 安裝配置環(huán)境jdk1.8的教程
這篇文章主要介紹了centeros7 安裝配置環(huán)境jdk1.8的教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09Linux系統(tǒng)下如何實(shí)現(xiàn)修改主機(jī)名
這篇文章主要介紹了Linux系統(tǒng)下如何實(shí)現(xiàn)修改主機(jī)名問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02CentOS 開機(jī)啟動(dòng)自定義腳本詳解及實(shí)現(xiàn)
這篇文章主要介紹了CentOS 開機(jī)啟動(dòng)自定義腳本的相關(guān)資料,有些時(shí)候我們需要在服務(wù)器里設(shè)置一個(gè)腳本,讓他一開機(jī)就自己啟動(dòng),需要的朋友可以參考下2016-11-11Linux中查看物理CPU個(gè)數(shù)、核數(shù)、邏輯CPU個(gè)數(shù)的方法
下面小編就為大家?guī)硪黄狶inux中查看物理CPU個(gè)數(shù)、核數(shù)、邏輯CPU個(gè)數(shù)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01