操作系統-虛擬存儲

一、虛擬存儲器

程序存在着局部性原理,時間局部性與空間局部性。時間局部性是指某條指令執行,不久之後可能再次執行。空間局部性是指一個存儲單元訪問後,其相鄰單元不久之後可能會訪問。

根據局部性原理,我們可以知道,在運行進程時,不必將所有的數據載入內存,可以將部分先載入內存,等運行需要時再動態載入。
虛擬存儲器存在着多次性、對換性和虛擬性的重要特徵。

二、分頁請求
2.1請求頁表機制


(1) 狀態位 P:用於指示該頁是否已調入內存,供程序訪問時參考。

 (2) 訪問字段 A:用於記錄本頁在一段時間內被訪問的次數,或記錄本頁最近已有多長 時間未被訪問,供選擇換出頁面時參考。 

(3) 修改位 M:表示該頁在調入內存後是否被修改過。由於內存中的每一頁都在外存上 保留一份副本,因此,若未被修改,在置換該頁時就不需再將該頁寫回到外存上,以減少 系統的開銷和啓動磁盤的次數;若已被修改,則必須將該頁重寫到外存上,以保證外存中 所保留的始終是最新副本。簡言之,M 位供置換頁面時參考。

 (4) 外存地址:用於指出該頁在外存上的地址,通常是物理塊號,供調入該頁時參考

2.2缺頁中斷機構

當訪問的頁面不在內存時,便產生一卻也中斷,請求OS調入缺頁。

2.3地址變換機構





2.4內存分配

(1)分配策略:固定分配局部置換、可變分配全局置換、可變分配局部置換

三、對置算法

(1)最佳置換:將未來最長時間內不再被訪問的置換。

(2)先進先出置換:先進先出原則
(3)最近最久未使用:記錄頁面自上次訪問以來所經歷的時間,將時間最長的置換。
(4)最少使用置換:記錄被訪問的頻率。
(5)clock最近未用算法

四、抖動與工作集

4.1抖動

抖動是由於頻繁換入換出現象。抖動的根本原因是分配給每一個進程的物理塊較少。

4.2工作集

工作集是指在某段時間間隔裏,進程實際所要訪問頁面的集合。

4.3抖動預防

(1)局部置換
(2)把工作集融入處理機調度
(3)利用L=S準則調節缺頁率
(4)選擇暫停進程

五、分段請求


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章