页面置换:Clock / Second Chance(第二次机会)
Clock 如何用引用位近似 LRU:指针扫描、给第二次机会、手算步骤。
#resource / operating-system
#type / concept
#status / growing
[!info] related notes 操作系统 MOC 页面置换算法(OPT/FIFO/LRU/Clock)
页面置换:Clock / Second Chance
一句话
用一个循环指针 + 引用位 R 近似 LRU:遇到 R=1 就清零并跳过,遇到 R=0 就淘汰。
数据结构直觉
- 页框排成一个环
- 有一个指针(clock hand)指向“候选淘汰页”
- 每个页有引用位
R:被访问时置1
缺页时怎么淘汰(核心步骤)
当缺页且页框已满:
- 看指针指向的页
- 如果
R = 0:淘汰它,装入新页(新页R=1),指针向前移动一格 - 如果
R = 1:把它清成0,指针向前移动一格,继续找
常考点
- Clock 是 LRU 的近似,不是严格 LRU
- 引用位的含义是“最近是否被访问过(在一段时间窗口内)”
高频陷阱
- 清零发生在“被扫描到且 R=1”的时刻,不是每次固定清零(除非题目额外定义)
- 指针移动规则要写清楚:淘汰后通常也会向前移动