作業系統記憶體頁面置換演算法

來源:互聯網
上載者:User

固定的為進程分配3個頁框,駐留集大小固定,進程的執行需要訪問5個不同的頁,運行該進程需要訪問的頁地址順序為: 2 3 2 1 5 2 4 5 3 2 5 2

一、           OPT(最佳頁面置換演算法)

該演算法選擇置換下次訪問距目前時間最長的那些頁,可以看出該演算法可以導致最少的缺頁中斷,但它要求作業系統能夠預知未來的時間,這是不可能實現的,但是該演算法可以作為一種標準來衡量其他演算法的效能


二、           LRU(最近最少使用)   

置換記憶體中上次使用距當前最遠的頁。根據局部性原理,這也是最近最不可能訪問的頁,實際上,LRU策略的效能接近於OPT,該方法的問題是難於實現。一種方法是給每一頁添加一個最後訪問的時間標籤,並且每次訪問儲存空間時都要更新這個標籤。即使有支援這種方案的硬體,開銷也是很大。另一種可選擇的方法是維護一個關於訪問頁的棧,但是開銷仍然很大

2013-5-25 12:59:46 上傳 下載附件 (32.11 KB)
三、           FIFO策略(先進先出)

該策略把分配給進程的頁框看成一個迴圈緩衝區,按迴圈移動頁,它所需要的只是一個指標,該指標在進程的頁框中迴圈,因此這是實現起來最簡單的頁面置換策略。該策略置換出那些在頁框中駐留時間最久的頁,認為駐留時間最久了,到現在可能不再用了。這個推斷是錯誤的,因為會經常出現一部分程式或資料在整個程式的生命週期中使用頻率都很高的情況,如果使用該演算法,則這些頁需要反覆的調入調出

  


四、           時鐘策略

最簡單的時鐘策略需要給每一頁框關聯一個附加位,稱為使用位。當某一頁首次裝入記憶體中時,則將該頁頁框的使用位設定為1;當該頁隨後被訪問到時(在訪問產生缺頁中斷之後),它的使用位也會被設定為1。對於頁面置換演算法,用於置換演算法,用於置換的候選頁框集合(當前進程:局部範圍;整個記憶體;全域範圍)被看做是一個迴圈緩衝區,並且有一個指標針與之相關聯。當一頁被置換時,該指標針被設定成指向緩衝區中的下一頁框。當需要置換一頁時,作業系統掃描緩衝區,以尋找使用位被置為0的一頁框框。每當遇到一個使用位為1的頁框框時,作業系統就將該位重新置為0;如果在這個過程開始時,緩衝區中所有頁框的使用位均為0時,則選擇遇到的第一個頁框置換;如果所有頁框的使用位均為1時,則指標針在緩衝區中完整地迴圈一周,把所有使用位都置為0,並且停留在最初的位置上,置換該頁框中的頁。可見該策略類似於FIFO(先進先出),唯一不同的是,在時鐘策略中使用位為1的頁框框被跳過,該策略之所以稱為時鐘策略,是因為可以把頁框形象地想象成在一個環中。許多作業系統都採用這種簡單時鐘策略的某種變體。


註:*號表示相應的使用位為1,紅色儲存格表示指標指向的位置


轉載自:http://www.itmian4.com/forum.php?mod=viewthread&tid=2767&extra=page%3D1

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.