作業系統的虛擬儲存
區域性性原理 時間區域性性:一條指令的執行和下次執行,都集中在一個較短時期內。 空間區域性性:當前指令和臨近的幾條指令都在一個較小區域內。 區域性性原理的具體表現 1.程式執行時大部分是順序執行指令,少數是轉移和跳轉指令 2.巢狀不超過五層 3.相當多的迴圈結構 4.相當多的資料結構操作,資料結構都在較小的一個範圍內
虛擬儲存的基本原理 1.程式裝入記憶體時,不是一次性裝入,只需將當期的部分頁和段讀入記憶體就行。 2.如果未在記憶體中,需要從外存調到記憶體中 3.暫時不用的段或頁調出到外存 虛擬儲存的特徵 1.記憶體與外存的相互結合會提供大範圍的虛擬地址空間(容量不超過記憶體加外存) 2.實體記憶體分配不連續,虛擬地址空間也是不連續的。 虛擬儲存技術的種類 1.虛擬頁式:在原有頁式基礎上增加請求調頁和頁面置換功能。 2.虛擬段式:增加請求調段和段置換功能 3.虛擬頁段式:兩者的結合
虛擬頁式 工作集:載入當前頁 一個作業不全部載入,怎麼開始並執行一段時間呢? 開始執行只使用到全部地址空間的一部分,程式具有區域性性,有模組化的特點。 作業執行一段時間後,如果需要訪問沒有執行的介面,系統怎麼發現? 使用缺頁中斷 一個虛頁不在記憶體,怎麼裝入 使用頁面排程
頁表表項:使用擴充的程序頁表 狀態位:存在位(記憶體頁為1和外存頁為0) 修改位:調入到記憶體是否被修改了 訪問統計:統計最近被訪問的次數 外存地址
出頁和入頁:字面意思,都是分頁操作 抖動現象:反覆進行入頁和出頁的操作(浪費大量CPU時間) 缺頁中斷: 1.在指令執行期間產生和處理,不是等指令執行完畢後處理。所缺的頁面2.被調入之後,重新執行被中斷的指令。 3.一條指令執行可能會產生多次中斷 4.必須由CPU硬體確保多個現象的儲存