在一個請求分頁系統中,採用最佳頁面置換算法時,假如一個作業的頁面走向爲4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理塊數M分別爲3和4時,試計算在訪問過程中所發生的缺頁次數和缺頁率。請給出分析過程。
解析:所謂的最佳(Optimal)頁面置換算法就是說 所淘汰的頁面將是以後永不使用的頁面,或者是再未來很長一段時間內都不再被訪問的頁面。若產生缺頁中斷,但是後續都未用到其他頁面,則根據最先更新原則,將最晚更新的頁面給淘汰。
缺頁次數:發生缺頁中斷的次數
缺頁率:發生缺頁次數/總共的頁面數
物理塊數爲3時:
4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|
4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 2 | 2 | 2 |
3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 | |
2 | 1 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 5 | ||
缺頁中斷1 | 缺頁中斷2 | 缺頁中斷3 | 缺頁中斷4 |
缺頁中斷1:當進程訪問頁面1時,將會產生缺頁中斷,4 3 2進行淘汰,往遠處(右)觀察,頁面2最遠,則淘汰頁面2。
缺頁中斷2:當進程訪問頁面5時,將會產生缺頁中斷,4 3 1進行淘汰,往遠處(右)觀察,頁面1最遠,則淘汰頁面1。
缺頁中斷3:當進程訪問頁面2時,將會產生缺頁中斷,4 3 5進行淘汰,往遠處(右)觀察,看出5還會用到,但是4和3已經沒用了,再往前放(左)觀察,4更新的最晚,將4淘汰。
缺頁中斷4:當進程訪問頁面1時,將會產生缺頁中斷,2 3 5進行淘汰,往遠處(右)觀察,看出5還會用到,但是2和3已經沒用了,再往前放(左)觀察,3更新的最晚,將3淘汰。
缺頁次數:4
缺頁率:4/12
物理塊數爲4時:
4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|
4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 |
3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |
2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | ||
1 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 5 | |||
缺頁中斷1 | 缺頁中斷2 |
缺頁中斷1:當進程訪問頁面5時,將會產生缺頁中斷,4 3 2 1進行淘汰,往遠處(右)觀察,頁面1最遠,則淘汰頁面1。
缺頁中斷2:當進程訪問頁面1時,將會產生缺頁中斷,4 3 2 5進行淘汰,往遠處(右)觀察,看出5還會用到,但是4 3 2已經沒用了,再往前放(左)觀察,4更新的最晚,將4淘汰。
缺頁次數:2
缺頁率:2/12