时钟页面替换算法和FIFO

时间:2014-03-31 01:16:23

标签: page-replacement

我写了一个页面替换的模拟程序,其中Clock算法(使用1位使用位)与FIFO完全相同,这让我非常困惑。

这里我有一个简单的案例来复制我的难度:

Say I have page 1 3 5 7 in memory, and initially memory is like:
1 use=1 <- handle
3 use=1
5 use=1
7 use=1

When 2 needs to be inserted, clock handle travels through all the pages and 
at last substitute 1:
1 use=0 <- handle
3 use=0
5 use=0
7 use=0
To:
2 use=1
3 use=0 <- handle
5 use=0
7 use=0

Then I need to insert 4:
2 use=1
4 use=1
5 use=0 <- handle
7 use=0

Then after 6 and 8:
2 use=1 <- handle
4 use=1
6 use=1
8 use=1

假设FIFO驱逐首页(第一个),并插入到结尾。在这个例子中,Clock与FIFO完全相同,它总是驱逐最旧的(前)页面。

我不知道我做错了什么,有人可以指出来吗?

凌源

1 个答案:

答案 0 :(得分:0)

你没有做错任何事。只要再次请求已经在内存中的页面,时钟/秒偶然算法将与FIFO相同。此时,参考位被设置为1,并且下一次该页面将被替换,而不是替换它,参考位被设置为零,并且以相同的方式检查下一个候选受害者页面。所以,你可以说带有翻转位的页面被赋予了...... 第二次机会