algorithm - 最佳页面替换算法的实际示例,具有 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 会发生什么,因为我们得到了 page 2
,但这已经存在于内存中。通常,如果它是另一个数字,例如6
,那么它会进入,Tile 4
但在这种情况下我迷路了。
解决方案
在 time t=4
,第 2 页已经存在,因此无需执行任何操作。您可以跳过它并移至下一个时间间隔。
如果有另一个数字,例如6
,如果有可用的空闲槽,则将其移到那里,或者找到将来最长不会使用的页面并交换它。
推荐阅读
- c# - 从 url 或没有随机写入行
- python - 在编译这个贪婪算法的 python 问题时遇到问题
- kotlin - 当实体字段在 Kotlin 类中可以为空时,是否可以使 Room SQLite 列不为空?
- python - 在 Python 中合并图像
- reactjs - 媒体查询在检查员中有效,但在手机上无效
- tensorflow - 具有多个隐藏层的 TensorFlow 2 GRU 层
- reactjs - React-Select isMulti 检索选择的选项
- ios - UITableView 单元格中的旋转动画不起作用
- mysql - 无法连接到在 kubernetes 部署中运行的 mysql 服务器暴露为负载均衡器
- docker - Docker 服务未在已发布的端口上侦听