頁面置換算法

操做系統的虛擬存儲器管理技術中,有一項比較重要的分支叫分頁存儲管理。分頁管理是在頁架中裝入一些須要使用或過去使用過的頁面,可是頁架的數量是有限的,這裏就會用到一些頁面置換算法,使得頁面訪問的效率提升。判斷一個置換算法優劣的指標就是缺頁率,缺頁是指當前的頁架中沒有須要訪問的頁面,而須要將該頁面加入其中一個頁架。缺頁率=訪問缺頁次數/訪問總次數。算法

1.最佳置換算法OPTspa

不可現實的算法

 

總結:若出現缺頁,從該頁向後查找,先找到的M-1個頁面保留在內存,另外那個替換掉。

 

 

 

2.先進先出FIFO頁面置換算法

 

缺點:存在Belady現象,抖動現象。

 

 

 

3.最近最久未使用(LRU)置換算法

 

最有效的頁面置換算法

 

總結:若出現缺頁,從該頁向前查找,先找到的M-1個頁面保留在內存,另外那個替換掉。

 

 

 

4.Clock置換算法

 

又稱最近未使用算法又沒有被修改。

多了控制位
2.先進先出算法(FIFO)是一個實現起來比較簡單的頁面置換算法,其基本原則是「選擇最先進入主存的頁面淘汰」,理由是最先進入的頁面,其再也不使用的可能性比最近調入的頁面要大。
理論上來講,若是分配的頁架數增長的話,缺頁率是會減小,可是FIFO算法對於一些特殊的頁面訪問序列會有隨着分給的頁架數增長,缺頁率也增長的異常現象。
 操作系統

4.Clock置換算法.net

內存及控制信息 輸入串 指針移動狀況及幀替換信息 是否缺頁?
內存 訪問位 指針 3 內存中沒有3,須要找到一個幀放入3,
指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
  0
  0  
  0  
內存 訪問位 指針 4 內存中沒有4,須要找到一個幀放入4,
指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
3 1  
  0
  0  
內存 訪問位 指針 2 內存中沒有2,須要找到一個幀放入2,
指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
3 1  
4 1  
  0
內存 訪問位 指針 6 內存中沒有6,須要找到一個幀放入6,
指針所指的位置的訪問位爲1,
將其變成0,再下移
3 1
4 1  
2 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
3 0  
4 1
2 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移(回到開頭)
3 0  
4 0  
2 1
內存 訪問位 指針 指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
3 0
4 0  
2 0  
內存 訪問位 指針 4 內存中有4,因而4所在幀的訪問位變爲1,
指針下移
×
6 1  
4 0
2 0  
內存 訪問位 指針 3 內存中沒有3,須要找到一個幀放入3,
指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
6 1  
4 1  
2 0
內存 訪問位 指針 7 內存中沒有7,須要找到一個幀放入7,
指針所指的位置的訪問位爲1,
將其變成0,再下移
內存及控制信息 輸入串 指針移動狀況及幀替換信息 是否缺頁?
內存 訪問位 指針 3 內存中沒有3,須要找到一個幀放入3,
指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
  0
  0  
  0  
內存 訪問位 指針 4 內存中沒有4,須要找到一個幀放入4,
指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
3 1  
  0
  0  
內存 訪問位 指針 2 內存中沒有2,須要找到一個幀放入2,
指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
3 1  
4 1  
  0
內存 訪問位 指針 6 內存中沒有6,須要找到一個幀放入6,
指針所指的位置的訪問位爲1,
將其變成0,再下移
3 1
4 1  
2 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
3 0  
4 1
2 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移(回到開頭)
3 0  
4 0  
2 1
內存 訪問位 指針 指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
3 0
4 0  
2 0  
內存 訪問位 指針 4 內存中有4,因而4所在幀的訪問位變爲1,
指針下移
×
6 1  
4 0
2 0  
內存 訪問位 指針 3 內存中沒有3,須要找到一個幀放入3,
指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
6 1  
4 1  
2 0
內存 訪問位 指針 7 內存中沒有7,須要找到一個幀放入7,
指針所指的位置的訪問位爲1,
將其變成0,再下移
6 1
4 1  
3 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
6 0  
4 1
3 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移(回到開頭)
6 0  
4 0  
3 1
內存 訪問位 指針 指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
6 0
4 0  
3 0  
內存 訪問位 指針 4 內存中有4,因而4所在幀的訪問位變爲1,
指針下移
×
7 1  
4 0
3 0  
內存 訪問位 指針 3 內存中有3,因而3所在幀的訪問位變爲1,
指針下移(回到開頭)
×
7 1  
4 1  
3 0
內存 訪問位 指針 6 內存中沒有6,須要找到一個幀放入6,
指針所指的位置的訪問位爲1,
將其變成0,再下移
7 1
4 1  
3 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
7 0  
4 1
3 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移(回到開頭)
7 0  
4 0  
3 1
內存 訪問位 指針 指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
7 0
4 0  
3 0  
內存 訪問位 指針 3 內存中有3,因而3所在幀的訪問位變爲1,
指針下移
×
6 1  
4 0
3 0  
內存 訪問位 指針 4 內存中有4,因而4所在幀的訪問位變爲1,
指針下移
×
6 1
4 0  
3 1  
內存 訪問位 指針 8 內存中沒有8,須要找到一個幀放入8,
指針所指的位置的訪問位爲1,
將其變成0,再下移(回到開頭)
6 1  
4 1  
3 1
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
6 1
4 1  
3 0  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
6 0  
4 1
3 0  
內存 訪問位 指針 指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移(回到開頭)
6 0  
4 0  
3 0
內存 訪問位 指針 4 內存中有4,因而4所在幀的訪問位變爲1,
指針下移
×
6 0
4 0  
8 1  
內存 訪問位 指針 6 內存中有6,因而6所在幀的訪問位變爲1,
指針下移
×
6 0  
4 1  
8 1
內存 訪問位 指針 結束 完成 缺頁8次
6 1  
4 1
8 1

 

 

6 1
4 1  
3 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
6 0  
4 1
3 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移(回到開頭)
6 0  
4 0  
3 1
內存 訪問位 指針 指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
6 0
4 0  
3 0  
內存 訪問位 指針 4 內存中有4,因而4所在幀的訪問位變爲1,
指針下移
×
7 1  
4 0
3 0  
內存 訪問位 指針 3 內存中有3,因而3所在幀的訪問位變爲1,
指針下移(回到開頭)
×
7 1  
4 1  
3 0
內存 訪問位 指針 6 內存中沒有6,須要找到一個幀放入6,
指針所指的位置的訪問位爲1,
將其變成0,再下移
7 1
4 1  
3 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
7 0  
4 1
3 1  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移(回到開頭)
7 0  
4 0  
3 1
內存 訪問位 指針 指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移
7 0
4 0  
3 0  
內存 訪問位 指針 3 內存中有3,因而3所在幀的訪問位變爲1,
指針下移
×
6 1  
4 0
3 0  
內存 訪問位 指針 4 內存中有4,因而4所在幀的訪問位變爲1,
指針下移
×
6 1
4 0  
3 1  
內存 訪問位 指針 8 內存中沒有8,須要找到一個幀放入8,
指針所指的位置的訪問位爲1,
將其變成0,再下移(回到開頭)
6 1  
4 1  
3 1
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
6 1
4 1  
3 0  
內存 訪問位 指針 指針所指的位置的訪問位仍爲1,
將其變成0,再下移
6 0  
4 1
3 0  
內存 訪問位 指針 指針所指的位置剛好有訪問位爲0的,
因而就淘汰這個幀,指針下移(回到開頭)
6 0  
4 0  
3 0
內存 訪問位 指針 4 內存中有4,因而4所在幀的訪問位變爲1,
指針下移
×
6 0
4 0  
8 1  
內存 訪問位 指針 6 內存中有6,因而6所在幀的訪問位變爲1,
指針下移
×
6 0  
4 1  
8 1
內存 訪問位 指針 結束 完成 缺頁8次
6 1  
4 1
8 1

 

 

更多 0
相關文章
相關標籤/搜索