虛擬地址:VA—Virtual Address
物理地址:PA—Physical Address
MMU:Memory Management Unit——內(nèi)存管理單元
TLM:Translation Look-aside Buffers(傳輸后緩沖器)
為什么需要PA粥诫?答:因?yàn)槌绦蛟谀姆N硬件的機(jī)器上運(yùn)行并不確定,OS不能給出某臺(tái)機(jī)器的PA穴吹。
如何實(shí)現(xiàn)從VA到PA的轉(zhuǎn)換壕探?
1. 交換頁(yè)內(nèi)存管理—基址和極限
? ? 程序發(fā)出的VA+基址=PA
? ? 缺點(diǎn):(1)空間浪費(fèi):程序不斷執(zhí)行釋放,內(nèi)存可用空間不連續(xù)伴找。
? ? ? ? ? ? ? ?(2)程序大小受限。
2. 分頁(yè)內(nèi)存管理—將內(nèi)存空間劃分成大小相同的頁(yè)面
一個(gè)程序發(fā)出的PA由虛擬頁(yè)面號(hào)和頁(yè)內(nèi)偏移值組成
解決:1)空間浪費(fèi):以頁(yè)為內(nèi)存分配的基本單元,避免外部碎片積累壤圃。
? ? ? ? ? ?2)程序受限:當(dāng)程序需要額外空間,只需對(duì)其分配新的頁(yè)即可琅轧。
3. VA ——> PA(地址翻譯)
(1)該翻譯過(guò)程由MMU負(fù)責(zé):MMU為每一個(gè)程序配備了一個(gè)頁(yè)表伍绳;頁(yè)表是一個(gè)映射。
? ? 1)MMU只翻譯頁(yè)面乍桂,不處理頁(yè)內(nèi)偏移值
? ? 2)若MMU接收到程序發(fā)來(lái)的虛擬頁(yè)面號(hào)未查找到物理頁(yè)面號(hào)時(shí)冲杀,可通過(guò)缺頁(yè)中斷,將虛擬頁(yè)面從磁盤(pán)中加載到物理內(nèi)存的頁(yè)面中睹酌。
? ? 3)隨著虛擬頁(yè)面進(jìn)出內(nèi)存权谁,頁(yè)表的內(nèi)容在不斷變化。
(2)頁(yè)表中除了映射憋沿,還有與頁(yè)面的管理活動(dòng)有關(guān)的信息旺芽。