虛擬內(nèi)存:
1.局部性原理
(1)時間局部性:程序中的某條指令一旦運行,不久以后該指令可能再次運行。產(chǎn)生時間局部性的典型原因是由于程序中存在著大量的循環(huán)操作。
(2)空間局部性:一旦程序訪問了某個存儲單元,不久以后其附近的存儲單元也將枝訪問,其典型情況是程序順序運行。
2.虛擬內(nèi)存
基于局部性原理,應(yīng)用程序在運行之前并不全部裝入內(nèi)存,僅需將當前運行到的那部分程序和數(shù)據(jù)裝入內(nèi)存便可啟動程序的運行,其余部分仍駐留在外存上。當要運行的指令或訪問的數(shù)據(jù)不在內(nèi)存時,再由操作系統(tǒng)過請求調(diào)入功能將它們調(diào)入內(nèi)存,以使程序能繼續(xù)運行。如果此時內(nèi)存已滿,則還需過置換功能,將內(nèi)存中暫時不用的程序或數(shù)據(jù)調(diào)至盤上,騰出足夠的內(nèi)存空間后,再將要訪問的程序或數(shù)據(jù)調(diào)入內(nèi)存,使程序繼續(xù)運行。
3.實現(xiàn)虛擬內(nèi)存的基礎(chǔ)
硬件基礎(chǔ):一定容量的內(nèi)存大容量的外存地址變換機構(gòu)(含快表)缺頁中斷機構(gòu)。
軟件基礎(chǔ):虛實轉(zhuǎn)換的數(shù)據(jù)結(jié)構(gòu)(頁表、段表等)中斷服務(wù)處理程序操作系統(tǒng)支持。
4.虛擬內(nèi)存的主要特征
(1)多次性。
(2)對換性。
(3)虛擬性。