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次頁面置換。
存取頁面 | 7 | 0 | #1 | 2 | 0 | 3 | 0 | 4 | 2 | #3 | 0 | 3 | 2 | 1 | 2 | 0 | #1 | 7 | ##0#1 | |
7 | #7 | 7 | 2 | 2 | 4 | #4 | 4 | 0 | 0 | 7 | 7 | |||||||||
#物理區塊2 |
0 | 0 | 0 |
3 | 3 | 3 | # 2 | 2 | 2 |
#1 | ##1 |
1 | 0 | #0 | ||||||
物理區塊3 | 1 | #1 | 1 | 0 | 0 | 0 | 3 | #3 | 3 | 2 | #2 | 2 | 1 | |||||||
缺少頁否 | √ | #√ | √ | ##√ |
#√ |
√ | √#√ | √ |
√ |
√ | √ |
以上是fifo是什麼頁面置換演算法的詳細內容。更多資訊請關注PHP中文網其他相關文章!