页面置换: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

缺页时怎么淘汰(核心步骤)

当缺页且页框已满:

  1. 看指针指向的页
  2. 如果 R = 0:淘汰它,装入新页(新页 R=1),指针向前移动一格
  3. 如果 R = 1:把它清成 0,指针向前移动一格,继续找

常考点

  • Clock 是 LRU 的近似,不是严格 LRU
  • 引用位的含义是“最近是否被访问过(在一段时间窗口内)”

高频陷阱

  • 清零发生在“被扫描到且 R=1”的时刻,不是每次固定清零(除非题目额外定义)
  • 指针移动规则要写清楚:淘汰后通常也会向前移动
创建于 2026/3/18 更新于 2026/5/27