操做系統-內存換出

有換入就應該有換出算法

1. get_free_page ?

2. FIFO頁面置換

D換A不合適,由於接下來A也要進行使用,因此應該換最近用不到的C合適操作系統

3. MIN頁面置換

4. LRU頁面置換

5. LRU的準確實現,用時間戳

A是第一個時刻使用,B是第二個時刻使用,C是第三個時刻使用,而後又是A第四個時刻使用,而後是B第五個時刻使用,此時對應的是A:四、B:五、C:3指針

接下來D來了,看哪個數值最小就換出,因此D換入爲6,C換出blog

接下來過程相似進程

6. LRU準確實現,用頁碼棧

7. LRU近似實現-將時間計數變爲是和否

每次訪問一頁時,硬件自動設置該爲1內存

當選擇淘汰頁的時候,掃描該位,發現是1就清0,並向下繼續掃描,當發現是0的時候就淘汰get

8. Clock算法的分析與改造

也就是缺頁不多的狀況下,每一個頁都訪問過,全部的R=1,此時再淘汰頁的時候須要掃描一圈,把R=1置換爲R=0,而後淘汰當前指針指的那一頁,這樣就退化成了FIFO硬件

因此再引入一個指針,速度快的用於清除R位程序


9. 小結

實現換入換出爲了實現虛擬內存,im

實現虛擬內存爲了實現段頁結合,

實現段頁結合爲了實現操做系統管理內存

實現管理內存爲了實現程序可以載入執行

程序執行就是實現進程

相關文章
相關標籤/搜索