操作系统时钟(CLOCK)置换算法

本文详细解析了时钟(CLOCK)置换算法的工作流程,通过具体实例展示了算法如何处理页面走向,包括如何判断和更新访问位,以及如何进行数据置换。

一个作业物理块数为3,作业页面走向为3,4,2,6,4,3

时钟(CLOCK)置换算法流程

注意:红色为访问位,蓝色为内存数据

箭头处开始

 

第一步:

第一个页面走向为3,此时内存中没有数据,且访问位为0,于是将3放入内存,并修改访问位为1,指针下移,得到如下图

 

第二步:

第二个页面走向为4,此时指针指向处无数据,且访问位为0,于是将4放入内存,并修改访问位为1,指针下移,得到如下图

 

第三步:

第三个页面走向为2,此时指针指向处无数据,且访问位为0,于是将2放入内存,并修改访问位为1,指针下移,得到如下图

 

第四步:

第四个页面走向为6,此时指针指向处有数据3,非6,且访问位为1,不放入,于是将访问位由1变0,然后指针下移得到如下图

 

第五步:

此时指针指向处有数据4,非6,且访问位为1,不放入,于是将访问位由1变0,然后指针下移得到如下图

 

第六步:

此时指针指向处有数据2,非6,且访问位为1,不放入,于是将访问位由1变0,然后指针下移得到如下图

第七步:

已完成一圈,此时指针指向处有数据3,非6,且访问位为0,于是放入6,然后将访问位由0变1,然后指针下移得到如下图

 

第八步:

第五个页面走向为4,此时指针指向处有数据4,为4,且访问位为0,于是将访问位由0变1,然后指针下移得到如下图

 

第九步:

第六个页面走向为3,此时指针指向处有数据2,非3,且访问位为0,于是放入3,然后将访问位由0变1,然后指针下移得到如下图

 

至此置换流程结束。

总结:

当内存中无对应数据时访问位为0即可置换之后再变换访问位,访问位为1不置换仍然变换访问位然后指针下移。当内存中有对应数据时,访问位变换,指针下移。

每访问一次,无论是否发生置换,访问位都要变换。

 

 

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值