1. 程式人生 > >操作系統復習——頁面置換算法

操作系統復習——頁面置換算法

ron 實現 主存 進程 family clock 進入 置1 鏈接

1.  FIFO 先進先出頁面置換算法:

   優先淘汰最早進入內存的頁面,亦即在內存中駐留時間最久的頁面。

   看下實例:

   技術分享圖片

   缺頁次數15次,缺頁率:15/20

2.  LRU最近最久未使用置換算法

   當需要淘汰一個頁面時,總是選擇在最近一段時間內最久不用的頁面予以淘汰。

   技術分享圖片

   缺頁次:12次,缺頁率:12/20

3.  CLOCK時鐘置換算法

   為每頁設置一位訪問位,再將內存中的所有頁面都通過鏈接指針鏈接成一個循環隊列。當某頁被訪問時,其訪問位被置1。在選擇頁面淘汰時,只需檢查頁的訪問位,如果是0,就選擇該頁換出;若為1,則重新將它置為0,暫時不換出,而給該頁第二次駐留內存的機會,再按照FIFO算法檢查下一個頁面。當檢查到隊列中的最後一個頁面時,若其訪問位仍為1,則再返回到隊首去檢查第一個頁面。由於該算法是循環地檢查各頁面的使用情況,故稱為Clock算法。

4.  OPT最佳置換算法

   從主存中移出永遠不再需要的頁面;如無這樣的頁面存在,則選擇最長時間不需要訪問的頁面。於所選擇的被淘汰頁面將是以後永不使用的,或者是在最長時間內不再被訪問的頁面,這樣可以保證獲得最低的缺頁率。但由於人們目前無法預知進程在內存下的若千頁面中哪個是未來最長時間內不再被訪問的,因而該算法無法實現。理解思想。

操作系統復習——頁面置換算法