Second-Chance replacement具体是如何操作的?

PengLen 2015-09-28 04:44:24
问题:目前有如下顺序的数字需要使用Second-Chance replacement来进行操作,其数字的顺序为:
1,2,3,1,2,3,4,5,4,3,2,1
其中,假设算法规定的空间是3个,老师给的答案是:
Reference Page Frames Replaced Page
1 1,,
2 1,2,
3 1,2,3
1 1,2,3
2 1,2,3
3 1,2,3
4 4,2,3 1
5 4,5,3 2
4 4,5,3
3 4,5,3
2 4,5,2 3
1 1,5,2 4
我也在google和baidu上寻找了这方面的资料和论文查看,但是,依然没有推出来,网上给的理论大致如下:

第二次机会算法
第二次机会算法的基本思想是与FIFO相同的,但是有所改进,避免把经常使用的页面置换出去。当选择置换页面时,检查它的访问位。如果是0,就淘汰这页;如果访问位是1,就给它第二次机会,并选择下一个FIFO页面。当一个页面得到第二次机会时,它的访问位就清为0,它的到达时间就置为当前时间。如果该页在此期间被访问过,则访问位置1。这样给了第二次机会的页面将不被淘汰,直至所有其他页面被淘汰过(或者也给了第二次机会)。因此,如果一个页面经常使用,它的访问位总保持为1,它就从来不会被淘汰出去。
第二次机会算法可视为一个环形队列。用一个指针指示哪一页是下面要淘汰的。当需要一个存储块时,指针就前进,直至找到访问位是0的页。随着指针的前进,把访问位就清为0。在最坏的情况下,所有的访问位都是1,指针要通过整个队列一周,每个页都给第二次机会。这时就退化成FIFO算法了。

求助:请网友大牛们给我支支招,推出以上的这个正确答案,并给出合理的解释?谢谢您了......
...全文
350 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

33,009

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧