Second-Chance Algorithm
Basic Concept
就是 FIFO 加上一次「赦免機會」。把所有 frame 排成一個圈(像時鐘),有個指針指著下一個候選受害者。
How it works?
- 看指針指的 page 的 reference bit
- bit = 0:直接踢掉,換入新頁,指針前進
- bit = 1:給它第二次機會——把 bit 清成
0,指針前進,繼續看下一個
- 最差情況轉一整圈(所有 bit 都是 1),等同於 FIFO
┌──────────────────────────────┐
▼ │
[A,bit=0] → [B,bit=1] → [C,bit=0] → [D,bit=1]
↑
指針 → A 的 bit=0,直接踢 A
new allocated frame 的 reference bit 是 1