1. 程式人生 > >地址映象和變換(一)之主存虛存

地址映象和變換(一)之主存虛存

規則 根據 pan 命中率 實現 -s tro 分享 使用

地址映象:是將每一個虛存單元按某種規則裝入實存,即建立多用戶虛地址與實存地址之間的相應關系。
地址變換:是程序依照這樣的映象關系裝入實存後。在運行時,多用戶虛地址怎樣變換成相應的實存地址。

頁面爭用(實頁沖突):發生兩個以上的虛頁想要進入主存中同一個頁面位置的現象。

因為虛存空間遠遠大於實存空間,因此頁式虛擬存儲器常採用全相聯映像

技術分享

替換算法

當發生頁面失效時。要從磁盤中調入一頁到主存。

假設主存全部頁面都已經被占用,必須從主存儲器中淘汰掉一個不常使用的頁面。以便騰出主存空間來存放新調入的頁面。


  • 隨機算法(RAND):用軟的或硬的隨機數產生器來形成主存重要被替換頁的頁號。 簡單。易於實現
    沒有利用歷史信息 命中率低,非常少使用
  • 先進先出(FIFO):選擇最早裝入主存的頁作為被替換的頁。
    配置計數器字段
    盡管利用歷史信息。但不一定反映出程序的局部性
  • 最近最少使用(LRU):選擇最近最少訪問的頁作為被替換的頁。
    配有計數器字段
    比較正確反映程序的局部性
  • 優化替換算法(OPT):在時刻t找出主存中每一個頁將要用到時刻ti。然後選擇當中ti-t最大的那一頁作為替換頁。


    理想化算法

樣例:設有一道程序,有1至5共5頁,運行時的地址流為:
2,3,2,1,5,2。4。5,3,2,5。2

主存頁為3。

分別採用FIFO、LRU、OPT算法。

技術分享

當中LRU是以歷史信息為推斷根據,而OPT則建立在對未來使用頁的預知(故稱理想算法)。

地址映象和變換(一)之主存虛存