採用 FIFO、LRU和 OPT頁面置換算法時,計算在訪問過程中所發生的缺頁次數和缺頁率

頁面置換算法

題目:

在一個請求分頁系統中,分別採用 FIFO、LRU和 OPT頁面置換算法時,假如一個作業的頁面走向爲 4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理塊數M爲 3時,試計算在訪問過程中所發生的缺頁次數和缺頁率,並比較所得結果。

分析思路:

先進先出(FIFO)更新算法:
也稱爲最早出現的頁面更新算法。該算法總是淘汰最先進入內存的頁面,即選擇在內存中停留時間最長的一頁予以淘汰。如果同時有多個頁面符合淘汰的條件,則任意選擇一個予以淘汰即可。

技巧:誰先連成和題目所給物理塊總數,誰先被置換掉

最近最久未使用(LRU)更新算法:
以“最近的過去”作爲“不久的將來”的近似,選擇最近一段時間內最久沒有使用的頁面淘汰。
它的實質是:當需要更新一頁時,選擇在最近一段時間內最久沒有被使用的頁面予以淘汰

技巧:在內存中沒有的頁面開始往前看,置換“最前面的“,但不是從一開始的,那樣這個算法就沒有意義了

最優(OPT)更新算法
該算法所選擇的被淘汰頁面,將是以後永久不被訪問,或者是在未來最長時間內不再被訪問的頁面。採用最優更新算法通常可以保證獲得最低的缺頁率。

技巧:往後看,當前未在頁面中的頁面去置換距離當前需要置換頁面"最遠"的頁面,最後一個不在頁面中的置換誰都可以

缺頁率=缺頁次數/總頁數

置換率=置換次數/總頁數

置換次數=缺頁次數-物理塊數

注意:這兩個率最後一定要寫成%的形式,不可以寫分數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章