首頁  >  文章  >  fifo是什麼頁面置換演算法

fifo是什麼頁面置換演算法

青灯夜游
青灯夜游原創
2021-06-25 15:06:009082瀏覽

fifo是指先進先出頁面置換演算法,每次置換最先調入記憶體的頁面,即將記憶體中等待時間最長的頁面進行置換。優點:實作起來比較簡單,可以不需要硬體的支持,因而不需要增加系統的成本。

fifo是什麼頁面置換演算法

本教學操作環境:windows10系統、Dell G3電腦。

fifo(先進先出頁面置換演算法)

#基本概念:優先淘汰最早進入記憶體的頁面,亦即在記憶體中駐留時間最久的頁面。

此演算法實作簡單,只要把調入記憶體的頁面依照先後次序連結成佇列,設定一個指標總是指向最早的頁面。但該演算法與進程實際運行時的規律不適應,因為在進程中,有的頁面經常被存取。

實作過程:

假設系統為某一進程分配了三個實體區塊,並考慮有以下頁號引用字串:7, 0, 1, 2, 0, 3, 0,4,2,3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1。釆用FIFO演算法進行頁面置換,進程存取頁面2時,把最早進入記憶體的頁面7換出。然後造訪頁面3時,再把2, 0, 1中最先進入記憶體的頁換出。由下圖可以看出,利用FIFO演算法時進行了12次頁面置換。

##0#1物理區塊17#772224#440007##110#0物理區塊31#110003#332#221缺少頁否√#√√√#√√√√
存取頁面 7 0 #1 2 0 3 0 4 2 #3 0 3 2 1 2 0 #1 7





7 7
#物理區塊2
0 0 0
3 3 3 # 2 2 2

#1








##√

#√



###√######√################缺點:FIFO演算法也會產生當所指派的物理區塊數增加而頁故障數不減反增的異常現象,這是由Belady於1969年發現,故稱為Belady異常,如下圖所示。只有FIFO演算法可能出現Belady異常,而LRU和OPT演算法永遠不會出現Belady異常。 ######更多相關知識,請造訪###常見問題###欄位! ###

以上是fifo是什麼頁面置換演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn