-
NRU
鎖定
- 中文名
- 最近未使用調度算法
- 外文名
- Not Recently Used
NRU基本原理
當一存儲塊中的頁面訪問時,其相應的“頁面訪問”位由硬件自動置“1”,而由頁面管理體制軟件週期性地(設週期為T,其值通常為幾百毫秒),把所有的頁面訪問位重新置為“0”。這樣,在時間T內,某些被訪問的頁面,其對應的訪問位為“1”,而未訪問的頁面,其對應的訪問位為“0”。查尋頁面訪問位為“0”的頁面。在查找過程中,那些被訪問的頁所對應的訪問位被重新置為“0”。由此可見,實際上這種近似LRU算法,已經退化成一種“最近不用”的算法NRU(Not Recently Used)。
NRU舉例
在時間T1開始時,用户進程的頁表如下:
頁號 | 狀態位 | 訪問位 |
1 | 1 | 1 |
2 | 0 | 0 |
3 | 1 | 1 |
4 | 0 | 0 |
隨後,在時間T1中用户進程訪問了頁2和頁3,時間T結束時用户進程的頁表變為:
頁號 | 狀態位 | 訪問位 |
1 | 1 | 0 |
2 | 1 | 1 |
3 | 1 | 1 |
4 | 0 | 0 |
頁1的訪問位由1變為0是因為在時間T內系統沒有訪問頁1,而頁2恰好相反。
若用户進程在下一個時間T2要求訪問頁4,由於進程無空閒頁框,便產生缺頁中斷。系統調用NRU頁面置換算法,發現頁1在內存中但是訪問位為0,即上一個時間T中未被訪問。於是系統將頁1調出,騰出的頁框分配給頁4,將其調入內存。T2用户進程的頁表變為:
頁號 | 狀態位 | 訪問位 |
1 | 0 | 0 |
2 | 1 | 0 |
3 | 1 | 0 |
4 | 1 | 1 |
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:10次歷史版本
- 最近更新: yl201317