最佳页面替换算法的实际示例,具有4个平铺



我正在用不同的页面替换算法做一些理论示例,以便更好地了解我实际编写代码的时间。我对这个例子有点困惑。

下面给出的是一个具有4个瓦片(4个部分?(的物理内存。以下页面被一个接一个地访问:

R = 1, 2, 3, 2, 4, 5, 3, 6, 1, 4, 2, 3, 1, 4

在具有4个瓦片的R上运行最佳页面替换算法。

我知道,当需要交换页面时,操作系统会交换出下一次使用最远的页面。在实践中,我会有:

Time    1 2 3 4 5 6 7 8 9 10 11 12 13 14
Page    1 2 3 2 4 5 3 6 1 4  2  3  1  4
Tile 1  1 1 1
Tile 2    2 2
Tile 3      3
Tile 4

我不确定时间4会发生什么,因为我们得到了页面2,但它已经存在于内存中。通常,如果它是另一个像6这样的数字,那么它会进入Tile 4,但在这种情况下我迷路了。

在时间t=4时,第2页已经存在,因此无需执行任何操作。您可以跳过它,然后转到下一个时间间隔。

如果有另一个像6这样的号码,如果有可用的插槽,你可以将其移动到那里,或者找到未来最长时间内不会使用的页面并进行交换。

最新更新