OPT:Optimal
算法思想:每次选择淘汰的页面将是以后永不使用,或者在最长时间内不再被访问的页面,这样可以保证最低的缺页率。
假设给定一串数据:
[8, 9, 7, 4, 9, 7, 8, 1, 2, 7, 2, 3, 2, 10, 7]
内存空间为 3。
第一次占满时为:
[8, 9, 7]
这时 4 需要进 栈,需要置换一个,可以看到接下来先访问的 9,在访问的 7,也就是说 8 相较于 9,7,被访问到比较偏后,根据最长时间不访问的原则,我们把 8 给置换掉,这时候内存变成了:
[4. 9, 7]
这时访问到了 9, 内存中存在 9,保持原样:
[4. 9, 7]
这时访问到了 7, 内存中存在 7,保持原样:
[4. 9, 7]
这时访问到了 8, 需要置换一个,先从 4 开始判断,4 接下来都不会被访问到,说明以后永不使用,所以直接置换 4.内存变成了:
[8, 9, 7]
同理完成接下来的: