說白點:缺頁定義為所有內存塊最初都是空的,所以第一次用到的頁面都產生一次缺頁,也就是內存中不存在的待進入的頁號話,就會產生缺頁。明白了這個之后,對于缺頁計算問題就好說了。
二、先進先出調度算法(FIFO)這種調度算法總是淘汰最新進入主存儲器的那一頁。這種調度算法很簡單,按照裝入主存儲器的那些頁的先后順序排成頁號隊列,每當進入一個缺頁時候,淘汰最早進入的那頁。
舉個例子:例如依次要訪問的頁號為:0 1 2 3 2 1 3 2 5 2 3 6 2 1 4 2,現在只有三個主存可供使用如果采用FIFO調度,請模擬 調度過程,并算出缺頁中斷次數?
0進入,出現缺頁中斷(1次)此時內存中的頁號:0
1進入,出現缺頁中斷(1次),此時內存中的頁號:01
2進入,出現缺頁中斷(1次)此時內存中的頁號:012
3進入,淘汰0,出現缺頁中斷(1次),3替換0的位置,此時內存中的頁號:123
2進入,沒出現缺頁中斷情況,因為內存中已經存在頁號2,內存中的頁號還是:123
1進入,內存中存在頁號1,沒有出現缺頁中斷,此時內存中的頁號是:123
3進入,同上,沒有出現缺頁中斷,內存中的頁號是:123
2進入,同上,沒有出現缺頁中斷,內存中的頁號是:123
5進入,這時候,對于312呆的時間最長的是:1,所以5替換1,出現缺頁中斷(1次),此時內存中的頁號:235
2進入,沒有出現缺頁中斷,內存中的頁號:235
6進入,出現缺頁中斷(1次),淘汰的頁面是2號,內存中的頁號356
2進入,出現缺頁中斷(1次),淘汰的頁面好是3號,內存中的頁號562
1進入,出現缺頁中斷(1次),淘汰的頁面號是5號,內存中的頁號是621
4進入,出現缺頁中斷(1次),淘汰的頁面號是6號,內存中的頁號是214
2進入,沒有出現缺頁中斷,內存中的頁號是214
所以,如果采用先進先出的調度算法,共出現缺頁中斷8次,其內存模擬情況如下表:
進入 時間 | 0 | 1 | 2 | 3 | 2 | 1 | 3 | 2 | 5 | 2 | 3 | 6 | 2 | 1 | 4 | 2 |
早 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 3 | 5 | 6 | 2 | 2 |
中 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 5 | 6 | 2 | 1 | 1 | |
晚 | 2 | 3 | 3 | 3 | 3 | 3 | 5 | 5 | 5 | 6 | 2 | 1 | 4 | 4 | ||
是否 缺頁 | 是 | 是 | 是 | 是 | 不是 | 不是 | 不是 | 不是 | 是 | 不是 | 不是 | 是 | 是 | 是 | 是 | 不是 |
*紅色的數字,是最新進入內存的頁號
對于先進先出模擬過程,不難發現一下特點:
1、第一次進入內存的,肯定出現缺頁;
2、沒出現缺頁的,連續的列是相同的;
3、淘汰的頁面是呆在內存中時間最長的;
最近最久未使用調度算法認為:最近經常被使用到的頁和可能馬上就要被訪問,因此不能調出。相反,如果有過去一段時間里沒有被訪問過的頁,在最近的將來也可能暫時不會被訪問。所以需要裝入新頁時,應選擇在最近一段時間里最久沒有被使用過的頁調出。
仍然以上述為例子,采用LRU調度,
首先0進入,缺頁(1次),此時內存中的頁號按照使用頻率的順序:0
1進入,缺頁(1次),此時內存中的頁號按照使用頻率的順序:01
2進入,缺頁(1次),此時內存中的頁號按照使用頻率的順序:012
3進入,缺頁(1次),最久未使用為0頁號,被3替換,此時內存中的頁號按照使用頻率的順序:123
2進入,不缺頁,此時內存中的頁號按照使用頻率的順序:132
1進入,不缺頁,此時內存中的頁號使用頻率的順序:321
3進入,不缺頁,此時內存中的頁號使用頻率的順序:213
2進入,不缺頁,此時內存中的頁號使用頻率的順序:132
5進入,缺頁(1次),最久未使用的頁號是1號,淘汰掉,此時內存中的頁號使用頻率的順序:325
2進入,不缺頁,此時內存中的頁號使用頻率的順序:352
3進入,不缺頁,此時內存中的頁號使用頻率的順序:523
6進入,缺頁(1次),此時內存中的頁號使用頻率的順序:236
2進入,不缺頁,此時內存中的頁號使用頻率的順序:362
1進入,缺頁(1次),最久未使用的頁號為3,此時內存中的頁號使用頻率的順序:621
4進入,缺頁(1次),最久未使用的頁號為6,此時內存中的頁號使用頻率的順序:214
2進入,不缺頁,此時內存中的頁號使用頻率的順序:142
所以,采用最近最久未使用的調度算法,其缺頁次數:8次
其在內存中的調度模擬如下表所示:
使用 頻率 | 0 | 1 | 2 | 3 | 2 | 1 | 3 | 2 | 5 | 2 | 3 | 6 | 2 | 1 | 4 | 2 |
好久 沒用 | 0 | 0 | 0 | 1 | 1 | 3 | 2 | 1 | 3 | 3 | 5 | 2 | 3 | 6 | 2 | 1 |
中 | 1 | 1 | 2 | 3 | 2 | 1 | 3 | 2 | 5 | 2 | 3 | 6 | 2 | 1 | 4 | |
最近 使用 | 2 | 3 | 2 | 1 | 3 | 2 | 5 | 2 | 3 | 6 | 2 | 1 | 4 | 2 | ||
是否 缺頁 | 是 | 是 | 是 | 是 | 不是 | 不是 | 不是 | 不是 | 是 | 不是 | 不是 | 是 | 不是 | 是 | 是 | 不是 |
多拿筆畫畫~~~
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com