时钟(CLOCK)置换算法流程 注意:红色为访问位,蓝色为内存数据 箭头处开始 第一步: 第一个页面走向为3,此时内存中没有数据,且访问位为0,于是将3放入内存,并修改访问位为1,指针下移,得到如下图 ...
一个作业物理块数为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不置换仍然变换访问位然后指针下移。当内存中有对应数据时,访问位变换,指针下移。
每访问一次,无论是否发生置换,访问位都要变换。
收起
展开全文

操作系统 C++ 页面置换算法(含实验报告)有opt,LRU,先进先出,时钟算法,改进的时钟算法等所有算法

热门讨论2010-06-18 20:25:55
本实验使用一下算法 使用rand()函数随机产生页面号,用数组装入页面号,模拟页面调入内存中发生页面置换的过程。 整个过程,都是使用数组来实现每个算法,模拟队列,模拟堆栈的功能,实现每一个置换算法。 页面...
收起

操作系统时钟置换算法实现

2007-06-05 03:39:00