作为标题。
有一个包含3个页面的缓冲池,可以接收以下页码的请求:
2,4,4,2,5,2,1,1,3,1
替换政策是MRU和CLOCK。 我很困惑他们的工作方式。有人能告诉我吗?非常感谢〜
更新
遵循MRU政策有我的解决方案:
2
2 4
2 4
2 4
2 4 5
2 4 5
1 4 5
3 4 5
1 4 5
是吗?
遵循LRU政策:
hit/miss?
2 m
2 4 m
2 4 h
2 4 h
2 4 5 m
2 4 5 h
2 1 5 m
2 1 5 h
2 1 3 m
2 1 3 h
是吗?
答案 0 :(得分:1)
对于MRU驱逐政策,让我们将MRU页面保留在前面。使用给定的请求列表,以下将是缓冲区的状态:
2 -> 2
4 -> 2 4
4 -> 2 4
2 -> 4 2
5 -> 4 2 5
2 -> 4 5 2
1 -> 4 5 1
1 -> 4 5 1
3 -> 4 5 3
1 -> 4 5 1
对于CLOCK逐出策略,页面列表将是(*表示发生页面错误时要填充的缓冲区位置):
2 -> 2 *
4 -> 2 4 *
4 -> 2 4 *
2 -> 2 4 *
5 -> 2* 4 5
2 -> 2* 4 5
1 -> 1 4* 5
1 -> 1 4* 5
3 -> 1 3 5*
1 -> 1 3 5*
遵循LRU政策,让LRU页面保持在后面。缓冲区的状态为:
2 -> 2
4 -> 2 4
4 -> 2 4
2 -> 4 2
5 -> 4 2 5
2 -> 4 5 2
1 -> 5 2 1
1 -> 5 2 1
3 -> 2 1 3
1 -> 2 3 1
答案 1 :(得分:1)
遵循MRU政策有我的解决方案......是吗?
根据您提到的MRU定义,您的MRU页面替换政策显示正确。
替换政策是MRU和CLOCK。我很困惑他们的工作方式。在这种情况下(对于2,4,4,2,5,2,1,1,3,1页码):
在时钟页面替换策略中,操作系统通过页面循环,清除 参考位并找到参考位设置为0的页面。
Page number Reference bit
2 1
2,4 1,1
2,4 1,1
2,4 1,1
2,4,5 1,1,1
2,4,5 1,1,1
1,4,5 1,0,0
1,4,5 1,0,0
1,3,5 1,1,0
1,3,5 1,1,0
遵循LRU政策:点击/未命中?是吗?
是,对于LRU页面替换,页面排序以及点击和未命中数都是正确的。