Clock简单算法自我理解总结。
当页面队列的队头页面需要进入物理块时:
先检查物理块:
①若在物理块(内存)中能找到,则指针的位置不能变,将物理块中对应的页面的访问位设置为 1。
②若在物理块中找不到(缺页):
(1) 判断指针当前位置,如果在访问位为0的页,则替换当前页,指针顺移一位,队头页面方问位置为1;如果指针在空物理块(如果有空物理块的前提下),则插入当前空物理块。指针同样顺移,队头页面方问位置为1;如果没有空物理块,并且指针当前不在访问位为0的页,则检查物理块中的页面是否有访问位为0的页面,若有,则指针从当前位置按正确方向(由题目决定,低地址到高地址或者高地址到低地址)开始移动到此访问位为0页面在物理块中的位置,并且指针之前经过的页面访问位都设置为0,用队头页面将此页面置换出来,并将队头页面的访问位设置为1,指针在按正确方向移一位。
(3)若(1)没有,则从当前指针位置开始,将物理块中访问位为 1 的页面都设置为 0 ,直到指针再次循环到访问位为 0 的页面,将其置换出来,并将队头页面访问位设置为 1 。指针移到当前位置下一位。
更多解释点这里