有換入就應該有換出
1. get_free_page ?

2. FIFO頁面置換

D換A不合適,因為接下來A也要進行使用,所以應該換最近用不到的C合適
3. MIN頁面置換

4. LRU頁面置換

5. LRU的準確實作,用時間戳
A是第一個時刻使用,B是第二個時刻使用,C是第三個時刻使用,然后又是A第四個時刻使用,然后是B第五個時刻使用,此時對應的是A:4、B:5、C:3
接下來D來了,看哪一個數值最小就換出,所以D換入為6,C換出
接下來程序類似

6. LRU準確實作,用頁碼堆疊

7. LRU近似實作-將時間計數變為是和否
每次訪問一頁時,硬體自動設定該為1
當選擇淘汰頁的時候,掃描該位,發現是1就清0,并向下繼續掃描,當發現是0的時候就淘汰

8. Clock演算法的分析與改造
也就是缺頁很少的情況下,每個頁都訪問過,所有的R=1,此時再淘汰頁的時候需要掃描一圈,把R=1置換為R=0,然后淘汰當前指標指的那一頁,這樣就退化成了FIFO
所以再引入一個指標,速度快的用于清除R位


9. 小結
實作換入換出為了實作虛擬記憶體,
實作虛擬記憶體為了實作段頁結合,
實作段頁結合為了實作作業系統管理記憶體
實作管理記憶體為了實作程式能夠載入執行
程式執行就是實作行程

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/115543.html
標籤:Linux
上一篇:linux 系統目錄詳解
下一篇:記一次面試總結
