Demand Paging Optimizations

1. Swap Space I/O faster than File System I/O

我們會讓 Swap space 是連續的大塊記憶體而非像 file system 一樣四散各處,因此讀寫起來速度較快

2. Program Binary Swapping Optimization

如果我們 binary 原本在 disk 上並且在第一次 page fault 寫到了 memory,那當我們要釋放這個 frame 時我們不用 swap out 而是直接丟棄

這是因為這個 binary 在 disk 是已經存在了,所以我們不用再將其寫到同在 disk 上的 swap space 多此一舉

3. Mobile System

行動裝置不做 swapping(耗能、延遲高、flash 有寫入壽命限制)

當 RAM 不足時,OS 會直接 evict read-only pages(如 code pages),因為它們可以隨時從 flash 上的原始檔案重新載入,不會有資料遺失的問題。下次存取時觸發 page fault,再透過 demand paging 從 flash 載回即可