LRU(Least Recently Used)最少使用頁面置換算法,顧名思義,就是替換掉最少使用的頁面。
FIFO(first in first out,先進先出)頁面置換算法,這是的最早出現的置換算法。該算法總是淘汰最先進入內存的頁面,即選擇在內存中駐留時間最長的頁面給予淘汰。
FIFO置換算法有這樣一個奇怪現象:內存空間塊數越多,缺頁中斷率可能相反的越高(缺頁中斷次數越高)。
LFU(Least Frequently Used)最近最少使用算法,它是基於“如果一個數據在最近一段時間內使用次數很少,那么在將來一段時間內被使用的可能性也很小”的思路。
注意LFU和LRU算法的不同之處,LRU的淘汰規則是基於訪問時間,而LFU是基於訪問次數的。
計算用LRU和FIFO算法計算“缺頁中斷”
在一個虛擬存儲管理系統中,假如系統分配給一個作業的內存物理塊數是3,並且此作業的頁面使用順序為2,3,2,1,5,2,4,5,3,2,5,2,若采用FIFO和LRU置換算法,其產生的缺頁次數分別為多少 。
【解析】
本題主要考查虛擬內存的頁面調度算法。題目中當采用FIFO時,其頁面調度過程如下:
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 5 5 5 5 3 3 3 3 [第一個內存物理塊]
3 3 3 3 2 2 2 2 2 5 5 [第二個內存物理塊]
1 1 1 4 4 4 4 4 2 [第三個內存物理塊]
可知缺頁次數為9。
采用LRU時,其頁面調度過程:
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 2 2 2 2 2 2 2 2
3 3 3 5 5 5 5 3 3 3 3
1 1 1 4 4 4 4 5 5
可計算其缺頁次數為7。
