- 最开始页面号1进入主存,主存里面有空闲的帧,将其使用位记成1,由于主存中之前没有页面1,所以会发生缺页中断。
- 随后的页面2,3,4进入主存,将其使用位记成1,发生缺页中断。
- 当之后的页面1,2进入主存时,由于页面1,2已经在主存中,不做处理。
- 当之后的页面5进入主存时,主存内没有空余的帧,这时候随着指针循环移动整个缓冲区,将之前页面的使用位全部清0,即这时候页面1,2,3,4对应的使用位全部为0,指针回到最初的位置,将页面1替换出去,页面5换入主存,同时使用位标记成1。以此类推,可知CLOCK共发生10次缺页中断。
改进型
-
在将一个页面换出时,如果该页已被修改过,便须将该页重新写回到磁盘上;但如果该页未被修改过,则不必将它拷回磁盘。在改进型Clock算法中,除须考虑页面的使用情况外,还须再增加一个因素,即置换代价,这样,选择页面换出时,既要是未使用过的页面,又要是未被修改过的页面。把同时满足这两个条件的页面作为首选淘汰的页面。由访问位A和修改位M可以组合成下面四种类型的页面:
-
1类(A=0,M=0):表示该页最近既未被访问,又未被修改,是最佳淘汰页。
-
2类(A=0,M=1):表示该页最近未被访问,但已被修改,并不是很好的淘汰页。
-
3类(A=1,M=0):表示该页最近已被访问,但未被修改,该页有可能再被访问。
-
4类(A=1,M=1):表示该页最近已被访问且被修改,该页可能再被访问。