NRU

NRU為作業系統請求分頁存儲管理中記憶體中的頁面淘汰算法,又名Clock置換算法。

基本介紹

  • 中文名:最近未使用調度算法
  • 外文名:Not Recently Used
基本原理,舉例,

基本原理

當一存儲塊中的頁面訪問時,其相應的“頁面訪問”位由硬體自動置“1”,而由頁面管理體制軟體周期性地(設周期為T,其值通常為幾百毫秒),把所有的頁面訪問位重新置為“0”。這樣,在時間T內,某些被訪問的頁面,其對應的訪問位為“1”而未訪問的頁面,其對應的訪問位為“0”。查尋頁面訪問位為“0”的頁面。在查找過程中,那些被訪問的頁所對應的訪問位被重新置為“0”。由此可見,實際上這種近似LRU算法,已經退化成一種“最近不用”的算法NRU(Not Recently Used)。

舉例

某系統為用戶進程分配的駐留集為3(記憶體中只為用戶進程分配3個頁框)。
在時間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內系統沒有訪問頁0,而頁2恰好相反。
若用戶進程在下一個時間T2要求訪問頁4,由於進程無空閒頁框,便產生缺頁中斷。系統調用NRU頁面置換算法,發現頁1在記憶體中但是訪問位為0,即上一個時間T中未被訪問。於是系統將頁1調出,騰出的頁框分配給頁4,將其調入記憶體。T2用戶進程的頁表變為:
頁號
狀態位
訪問位
1
0
0
2
1
0
3
1
0
4
1
1

相關詞條

熱門詞條

聯絡我們