1

如题。

有一个包含 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米

2 4米

2 4 小时

2 4 小时

2 4 5 米

2 4 5 小时

2 1 5 米

2 1 5 小时

2 1 3 米

2 1 3 小时

是对的吗?

4

2 回答 2

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 eviction 策略,页面列表将是( * 表示发生页面错误时要填充的缓冲区位置):

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
于 2016-02-25T05:21:28.067 回答
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 页面替换,页面顺序以及命中和未命中数都是正确的。

于 2016-02-25T05:25:58.593 回答