-
先進先出頁面置換算法
鎖定
- 適用範圍
- 順序結構程序 [1]
- 優 點
- 實現比較簡單,可以不需要硬件的支持 [1]
- 缺 點
- 產生Belady 異常現象 [1]
先進先出頁面置換算法簡介
在操作系統中,若發現所要訪問的頁面不再內存中,則產生缺頁中斷。當發生缺頁中斷時操作系統必須在內存選擇一個頁面將其移出內存,以便為即將調入的頁面讓出空間。將哪些頁面調入調出,就需要根據算法來確定,這些算法稱為頁面置換算法(Page Replacement Algorithms)。
[1]
先進先出頁面置換算法基本原理
FIFO頁面置換算法, 也就是先進先出的意思。這和我們現實生活中的排隊方式很相似, 先進隊伍的人會先買到票, 然後先從隊伍中離開。如果使用FIFO算法作為頁面置換算法, 緩存空間大小是三個頁面時, 一次進入Page1, Page2, Page3。當Page4要進入緩存時, 操作系統將會把Page1清除出緩存, 將Page4加入至緩存中。如果再有Page5要進入緩存時, 操作系統會將Page2清除出緩存空間, 以此類推。
[2]
先進先出頁面置換算法實現過程
比如有下述頁面走向:1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6。當內存塊數量分別為3時, 我們算一算使有此方法時產生的缺頁次情況。 (注意, 所有內存塊最初都是空的, 凡第一次用到的頁面都產生一次缺頁。)
[3]
先進先出頁面置換算法優點
先進先出頁面置換算法缺點
先進先出頁面置換算法沒有考慮到緩存頁面被使用的情況。如果一個頁面被頻繁訪問, 我們應該將它保留在緩存中, 這樣就能夠提高程序的性能。但是使用FIFO算法, 很可能將一個被頻繁訪問的頁面清除出緩存, 所以FIFO算法在實際的應用中是很少被使用到的, 但是這種思想是計算機系統中常常被採用的。
[2]
- 參考資料
-
- 1. 操作系統中頁面置換算法的對比研究 .中國知網.2010-06-25[引用日期2020-04-09]
- 2. 探究頁面置換算法 .中國知網.2019-01-28[引用日期2020-04-09]
- 3. 計算機操作系統中幾種頁面置換算法的比較 .中國知網.2014-11-15[引用日期2020-04-09]