1. 程式人生 > >作業系統的虛擬儲存

作業系統的虛擬儲存

區域性性原理  時間區域性性:一條指令的執行和下次執行,都集中在一個較短時期內。  空間區域性性:當前指令和臨近的幾條指令都在一個較小區域內。  區域性性原理的具體表現  1.程式執行時大部分是順序執行指令,少數是轉移和跳轉指令  2.巢狀不超過五層  3.相當多的迴圈結構  4.相當多的資料結構操作,資料結構都在較小的一個範圍內

虛擬儲存的基本原理  1.程式裝入記憶體時,不是一次性裝入,只需將當期的部分頁和段讀入記憶體就行。  2.如果未在記憶體中,需要從外存調到記憶體中  3.暫時不用的段或頁調出到外存  虛擬儲存的特徵  1.記憶體與外存的相互結合會提供大範圍的虛擬地址空間(容量不超過記憶體加外存)  2.實體記憶體分配不連續,虛擬地址空間也是不連續的。  虛擬儲存技術的種類  1.虛擬頁式:在原有頁式基礎上增加請求調頁和頁面置換功能。  2.虛擬段式:增加請求調段和段置換功能  3.虛擬頁段式:兩者的結合

虛擬頁式  工作集:載入當前頁  一個作業不全部載入,怎麼開始並執行一段時間呢?  開始執行只使用到全部地址空間的一部分,程式具有區域性性,有模組化的特點。  作業執行一段時間後,如果需要訪問沒有執行的介面,系統怎麼發現?  使用缺頁中斷  一個虛頁不在記憶體,怎麼裝入  使用頁面排程

頁表表項:使用擴充的程序頁表  狀態位:存在位(記憶體頁為1和外存頁為0)  修改位:調入到記憶體是否被修改了  訪問統計:統計最近被訪問的次數  外存地址

出頁和入頁:字面意思,都是分頁操作  抖動現象:反覆進行入頁和出頁的操作(浪費大量CPU時間)  缺頁中斷:  1.在指令執行期間產生和處理,不是等指令執行完畢後處理。所缺的頁面2.被調入之後,重新執行被中斷的指令。  3.一條指令執行可能會產生多次中斷  4.必須由CPU硬體確保多個現象的儲存