在一個請求分頁系統中,采用最近最久未使用頁面置換算法時,假如一個作業的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理塊數M分別為3和4時,試計算在訪問過程中所發生的缺頁次數和缺頁率。請給出分析過程。
解析:所謂的最近最久未使用(LRU Least Recently Used)頁面置換算法就是說 所淘汰的頁面將是最近最久未使用的頁面,只需要向前(左)看即可,誰最遠淘汰誰。
頁面置換:內存物理塊不夠,需要淘汰頁面
缺頁中斷:要訪問的頁不在主存
缺頁率:發生缺頁次數/總共的頁面數
物理塊數為3時:
4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|
4 | 4 | 4 | 1 | 1 | 1 | 5 | 5 | 5 | 2 | 2 | 2 |
3 | 3 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 | |
2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 5 | ||
頁面置換1 | 頁面置換2 | 頁面置換3 | 頁面置換4 | 頁面置換5 | 頁面置換6 | 頁面置換7 | |||||
缺頁中斷1 | 缺頁中斷2 | 缺頁中斷3 | 缺頁中斷4 | 缺頁中斷5 | 缺頁中斷6 | 缺頁中斷7 | 缺頁中斷8 | 缺頁中斷9 | 缺頁中斷10 |
頁面置換1:當進程訪問頁面1時,將會產生頁面置換,4 3 2進行淘汰,往近處(左)觀察,頁面4最近未使用,則淘汰頁面4。
頁面置換2:當進程訪問頁面4時,將會產生頁面置換,1 3 2進行淘汰,往近處(左)觀察,頁面3最近未使用,則淘汰頁面3。
頁面置換3:當進程訪問頁面3時,將會產生頁面置換,1 4 2進行淘汰,往近處(左)觀察,頁面2最近未使用,則淘汰頁面2。
頁面置換4:當進程訪問頁面5時,將會產生頁面置換,1 4 3進行淘汰,往近處(左)觀察,頁面1最近未使用,則淘汰頁面1。
頁面置換5:當進程訪問頁面2時,將會產生頁面置換,5 4 3進行淘汰,往近處(左)觀察,頁面5最近未使用,則淘汰頁面5。
頁面置換6:當進程訪問頁面1時,將會產生頁面置換,2 4 3進行淘汰,往近處(左)觀察,頁面4最近未使用,則淘汰頁面4。
頁面置換7:當進程訪問頁面5時,將會產生頁面置換,2 1 3進行淘汰,往近處(左)觀察,頁面3最近未使用,則淘汰頁面3。
缺頁次數:10
缺頁率:10/12
物理塊數為4時:
4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|
4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 5 |
3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |
2 | 2 | 2 | 2 | 5 | 5 | 5 | 5 | 1 | 1 | ||
1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | |||
頁面置換1 | 頁面置換2 | 頁面置換3 | 頁面置換4 | ||||||||
缺頁中斷1 | 缺頁中斷2 | 缺頁中斷3 | 缺頁中斷4 | 缺頁中斷5 | 缺頁中斷6 | 缺頁中斷7 | 缺頁中斷8 |
頁面置換1:當進程訪問頁面5時,將會產生頁面置換,4 3 2 1進行淘汰,往近處(左)觀察,頁面2最近未使用,則淘汰頁面2。
頁面置換2:當進程訪問頁面2時,將會產生頁面置換,4 3 5 1進行淘汰,往近處(左)觀察,頁面1最近未使用,則淘汰頁面1。
頁面置換3:當進程訪問頁面1時,將會產生頁面置換,4 3 5 2進行淘汰,往近處(左)觀察,頁面5最近未使用,則淘汰頁面5。
頁面置換4:當進程訪問頁面5時,將會產生頁面置換,4 3 1 2進行淘汰,往近處(左)觀察,頁面4最近未使用,則淘汰頁面4。
缺頁次數:8
缺頁率:8/12