頁面置換算法
題目:
在一個請求頁式存儲系統中,一個程序的頁面走向為 1,2,1,4,3,2,3,5在一個請求分頁系統中,1,2,1,3。假設分配給該程序的存儲塊數為 4,則采用 FIFO、LRU 頁面置換算法時,訪問過程中的缺頁次數分別是多少。
分析思路:
也稱為最早出現的頁面更新算法。該算法總是淘汰最先進入內存的頁面,即選擇在內存中停留時間最長的一頁予以淘汰。如果同時有多個頁面符合淘汰的條件,則任意選擇一個予以淘汰即可。
技巧:誰先連成和題目所給物理塊總數,誰先被置換掉
以“最近的過去”作為“不久的將來”的近似,選擇最近一段時間內最久沒有使用的頁面淘汰。
它的實質是:當需要更新一頁時,選擇在最近一段時間內最久沒有被使用的頁面予以淘汰
技巧:在內存中沒有的頁面開始往前看在一個請求分頁系統中,置換“最前面的“,但不是從一開始的,那樣這個算法就沒有意義了
缺頁率=缺頁次數/總頁數
置換率=置換次數/總頁數
置換次數=缺頁次數-物理塊數
注意:這兩個率最后一定要寫成%的形式,不可以寫分數
先進先出(FIFO)更新算法:缺頁次數7次,置換次數3次
缺頁率=缺頁次數/總頁數=7/12=58.3%(約等于)
置換率=置換次數/總頁數=3/12=25%
最近最久未使用(LRU)更新算法:缺頁次數6次,置換次數2次
缺頁率=缺頁次數/總頁數=6/12=50%
置換率=置換次數/總頁數=2/12=16.6%(約等于)