操作系統--頁面置換算法


在這裏插入圖片描述我們這裏只學習局部頁面置換算法!

功能:當缺頁中斷髮生時,需要調入新的頁面而內存已滿時,選擇內存當中那個物理頁面被替換
目標:儘可能減少頁面的換進換出次數(即缺頁中斷的次數)

一、最優頁面置換算法

把未來不再使用的或短期內較少使用的頁面換出

最優頁面置換算法,是不可能實現的,因爲它是需要知道未來的,所以最優頁面置換算法,只能當作頁面置換算法中的一個理想標準。

我們其他的頁面置換算法是通過局部性原理的指導下通過過去的數據,對未來進行預測,可以通過和最優頁面置換算法進行比較,來測評其他頁面置換算法的效果。

在這裏插入圖片描述

二、先進先出算法(FIFO)

基本思路:選擇在內存中駐留時間最長的頁面並淘汰
缺點:性能較差,調出的頁面有可能是經常需要被訪問的頁面,並且有Belady現象。FIFO算法很少單獨使用。

FIFO的實例:
 注意最開始的a、b、c、d進入內存的順序!

三、最近最久未使用算法(LRU)

基本思路:當一個缺頁中斷髮生時,選擇最久未使用的那個頁面並淘汰。
特點:它是對最優頁面置換算法的一個近似,其依據還是程序的局部性原理。

LRU實例:
在這裏插入圖片描述

四、時鐘頁面置換算法

它是一種LRU的近似,對FIFO的一種改進
在這裏插入圖片描述實例:
在這裏插入圖片描述產生缺頁中斷,我們要在存在內存裏的頁中選一個,放入硬盤,所以存在位肯定都是1,最開始指向page0,最先進入內存那個,然後像時鐘一樣依次找到每個page,若used bit=1,則將其置爲0,used bit=0,則將此頁放入硬盤!

五、二次機會法

在原來的clock方法中,再加入一位dirty bit,標誌這個頁是否寫入過,寫入時,此位會置1,沒寫過的頁,硬盤和此頁內容一致,所以不需要再回寫到磁盤,寫過的頁,需要回寫到磁盤,開銷較大。

二次機會法,意味着有兩次機會,這兩次機會是給最近被寫入過的頁的,只要used bit和dirty bit都爲0,才能被替換。
在這裏插入圖片描述

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