頁面置換演算法(計算缺頁次數)

2021-10-21 20:03:24 字數 2166 閱讀 9770

選擇最近最久未使用的頁面予以淘汰

頁面訪問序列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 那麼停止該指令的執行,並產生乙個頁不存在異常,對應的故障處理程式可通過從外存載入該頁到記憶體的方法來排除故障,之後,原先引起的異常的指令就可以繼續執行,而不再產生異常。頁面置換演算...