Clock算法中的除须再增加一个因素,即置换代价

在Clock算法中,除了考虑页面的使用情况外,还必须加入另一个因素,即替换成本。这样,当页面被选择换出时,它不仅是未使用的页面,而且还是未修改的页面。将同时满足这两个条件的页面作为要淘汰的第一页。通过访问位 A 和修改位 M 可以组合以下四种类型的页面:

类别1(A=0clock页面置换算法课设,M=0):表示该页面最近被访问过,没有被修改过,是最好淘汰的页面。

Category 2 (A=0, M=1):表示该页面最近没有被访问过,但也被修改过clock页面置换算法课设,不是很好的淘汰页面

类别3(A=1,M=0):表示该页面最近被访问过,但没有被修改过,可能会再次访问该页面

Category 4 (A=1, M=1): 表示该页面最近被访问和修改过,该页面可能再次被访问

内存中的每一页都必须是这四种类型的页之一。在进行页面替换时,可以使用类似于简单时钟算法的算法。不同的是,算法必须同时检查访问位和修改位,以确定该页面是四种类型的页面中的哪一种。其执行过程可分为以下三个步骤:

(1)从指针所指的当前位置开始,扫描循环队列,寻找A=0,M=0的第一个类型页,将遇到的第一个页作为选择的淘汰页。访问位A 在第一次扫描期间未更改

(2)如果第一步失败,即搜索一周后没有遇到第一类页面,则开始第二轮扫描,寻找A=0和M的第二类页面=1,遇到的第一个这样的页作为敲除页,第二次扫描时,所有扫描页的访问位都设置为0

(3)如果第二步也失败了,也就是没有找到第二类页面,把指针返回到起始位置,把所有的访问位复位为0。然后重复第一步,如果还是失败, 必要时重复第二步,这时候就可以找到被淘汰的页面了

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论