選擇最近最久未使用的頁面予以淘汰頁面訪問序列70
1203
0423
032頁框177
7頁框200
頁框31
是否缺頁√√
√當訪問頁面號為2的頁面時,應該置換哪個頁面?我們可以通過判斷從當前訪問頁面向左哪個頁面(頁框中的頁面)距離當前訪問頁面最遠來進行置換,如圖:
1距離當前頁面0個間隔,0距離當前頁面1個間隔,7距離當前頁面2個間隔,由此可知,7距離當前訪問頁面最遠,所以替換7,接下來其他的置換也是相同的原理,全部置換完成後如下圖:
頁面訪問序列70
1203
0423
032頁框177
7222
2444
000頁框200
0000
0033
33頁框3111
3332
2222
是否缺頁√√
√√×√
×√√√
√××採用最近最少使用頁面置換演算法(lru),缺頁次數為9
將以後都不再訪問或者很長時間內不再訪問的頁面調出頁面訪問序列42
9626
9492
頁框1444
頁框22
2頁框3
9是否缺頁√√
√當訪問頁面號為6的頁面時,應該置換哪個頁面?和最近最少使用頁面置換演算法相反,我們可以通過判斷從當前訪問頁面向右哪個頁面(頁框中的頁面)距離當前訪問頁面最遠來進行置換,如圖:
2距離當前頁面0個間隔,9距離當前頁面2個間隔,4距離當前頁面3個間隔,由此可知,4距離當前訪問頁面最遠,所以置換4,接下來其他的置換也是相同的原理,全部置換完成後如下圖:
頁面訪問序列42
9626
9492
頁框1444
6666
444頁框222
2222
222頁框399
9999
99是否缺頁√√
√√××
×√××
採用最佳頁面置換演算法(opt),缺頁次數為5
每次置換最先調入記憶體的頁面,即將記憶體中等待時間最長的頁面進行置換頁面訪問序列70
1203
0423
032頁框177
7頁框200
頁框31
是否缺頁√√
√當訪問頁面號為2的頁面時,應該置換哪個頁面?
方法一:
可以通過判斷哪個頁面(頁框中的頁面)最先調入記憶體,置換最先調入記憶體的頁面,如圖:
因為序號為7的頁面最先最先調入記憶體,所以置換序號為7的頁面
方法二:
也可以通過下面這種方式:通過判斷哪個頁面(頁框中的頁面)連續的次數最多,置換連續次數最多的頁面,如圖:
序號為7的頁面連續的次數最多,所以置換序號為7的頁面
接下來其他的置換也是相同的原理,全部置換完成後如下圖:
頁面訪問序列70
1203
0423
032頁框177
7222
2444
000頁框200
0033
3222
22頁框3111
1000
3333
是否缺頁√√
√√×√
√√√√
√××採用先進先出頁面置換演算法(fifo),缺頁次數為10
有不對的地方還請指出呀,不勝感激 [嘻嘻]
FIFO,LRU,OPT演算法及缺頁次數計算
記憶體發生置換的次數即缺頁次數。一 fifo fifo為先進先出演算法,舉例,為4時,由於已經存在的1,2,3中,1為最先進入的乙個數,因此將1置換為4,變為4,2,3。二 lru lru為最近最少使用的頁面被先換出演算法,感覺和fifo有些類似。舉例為4時,已存在的1,2,3中,1為最先進入的乙個...
缺頁中斷與頁面置換演算法
1 缺頁中斷 程序線性位址空間裡的頁面不必常駐記憶體,在執行一條指令時,如果發現他要訪問的頁沒有在記憶體中 存在位為0 那麼停止該指令的執行,並產生乙個頁不存在異常,對應的故障處理程式可通過從外存載入該頁到記憶體的方法來排除故障,之後,原先引起的異常的指令就可以繼續執行,而不再產生異常。頁面置換演算...
缺頁中斷與頁面置換演算法
1 缺頁中斷 程序線性位址空間裡的頁面不必常駐記憶體,在執行一條指令時,如果發現他要訪問的頁沒有在記憶體中 存在位為0 那麼停止該指令的執行,並產生乙個頁不存在異常,對應的故障處理程式可通過從外存載入該頁到記憶體的方法來排除故障,之後,原先引起的異常的指令就可以繼續執行,而不再產生異常。頁面置換演算...