考慮下述頁面走向: 算法
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 spa
當內存塊數量分別爲3時,試問FIFO、LRU、OPT這三種置換算法的缺頁次數各是多少? 內存
答:缺頁定義爲全部內存塊最初都是空的,因此第一次用到的頁面都產生一次缺頁。 博客
當內存塊數量爲3時: ast
FIFO頁面置換算法: sed
發生缺頁中斷的次數爲16。 im
在FIFO算法中,先進入內存的頁面被先換出。當頁6要調入時,內存的狀態爲4、1、5,考查頁6以前調入的頁面,分別爲5、1、2、4,可見4爲最早進入內存的,本次應換出,而後把頁6調入內存。 img
LRU(Least Recently Used): di
發生缺頁中斷的次數爲15。 時間
在LRU算法中,最近最少使用的頁面被先換出。當頁6要調入時,內存的狀態爲5、2、1,考查頁6以前調入的頁面,分別爲5、1、2,可見2爲最近一段時間內使用最少的,本次應換出,而後把頁6調入內存。
OPT:
發生缺頁中斷的次數爲11。
在OPT算法中,在最遠的未來才被訪問的頁面被先換出。當頁6要調入時,內存的狀態爲1、2、5,考查頁6後面要調入的頁面,分別爲2、1、2、…,可見5爲最近一段時間內使用最少的,本次應換出,而後把頁6調入內存。