有換入就應該有換出 1. get_free_page ? 2. FIFO頁面置換 D換A不合適,因為接下來A也要進行使用,所以應該換最近用不到的C合適 3. MIN頁面置換 4. LRU頁面置換 5. LRU的準確實現,用時間戳 A是第一個時刻使用,B是第二個時刻使用,C是第三個時刻使用,然後又是A ...
有換入就應該有換出
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. 小結
實現換入換出為了實現虛擬記憶體,
實現虛擬記憶體為了實現段頁結合,
實現段頁結合為了實現操作系統管理記憶體
實現管理記憶體為了實現程式能夠載入執行
程式執行就是實現進程