最佳页面置换算法
在一個請求分頁系統中,采用最佳頁面置換算法時,假如一個作業的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理塊數M分別為3和4時,試計算在訪問過程中所發生的缺頁次數和缺頁率。請給出分析過程。
解析:所謂的最佳(Optimal)頁面置換算法就是說 所淘汰的頁面將是以后永不使用的頁面,或者是再未來很長一段時間內都不再被訪問的頁面。若產生缺頁中斷,但是后續都未用到其他頁面,則根據最先更新原則,將最晚更新的頁面給淘汰。
頁面置換:內存物理塊不夠,需要淘汰頁面
缺頁中斷:要訪問的頁不在主存
缺頁率:發生缺頁次數/總共的頁面數
物理塊數為3時:
| 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 | 缺頁中斷2 | 缺頁中斷3 | 缺頁中斷4 | 缺頁中斷5 | 缺頁中斷6 | 缺頁中斷7 |
頁面置換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淘汰。
缺頁次數:7
缺頁率:7/12
物理塊數為4時:
| 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 | 缺頁中斷2 | 缺頁中斷3 | 缺頁中斷4 | 缺頁中斷5 | 缺頁中斷6 |
頁面置換1:當進程訪問頁面5時,將會產生頁面置換,4 3 2 1進行淘汰,往遠處(右)觀察,頁面1最遠,則淘汰頁面1。
頁面置換2:當進程訪問頁面1時,將會產生頁面置換,4 3 2 5進行淘汰,往遠處(右)觀察,看出5還會用到,但是4 3 2已經沒用了,再往前放(左)觀察,4更新的最晚,將4淘汰。
缺頁次數:6
缺頁率:6/12
總結
- 上一篇: 在与 SQL Server 建立连接时出
- 下一篇: 并发进程同步