实现

「第二次机会页面替换算法」是一种全局页面替换算法。可以认为是第二次机会页面替换算法的一种改进,改善算法开销。 实现方式与是第二次机会页面替换算法基本一样,只不过将线形链表构成一个环形链表

  1. 一个页面首次装入内存,其“引用位”置1 。
  2. 内存中的任何页面被访问时,“引用位”置1。
  3. 淘汰页面时,从指针当前指向的页面开始扫描循环队列,把遇到的“引用位”是 1 的页面的“引用位”清0,跳过这个页面;把所遇到的“引用位”是0的页面淘汰掉,指针推进一步。
  4. 扫描循环队列时,如果遇到的所有页面的“引用位”为 1,指针就会绕整个循环队列一圈,把碰到的所有页面的“引用位”清 0;指针停在起始位置,并淘汰掉这一页,然后,指针推进一步。