LRU 和 FIFO 页面替换在这里正确完成了吗?

Are the LRU and FIFO page replacements done correctly here?

我只是在学习分页,并且想知道我对页面替换所做的操作是否正确,因为我在网上找到的教程似乎到处都是。我主要是想澄清我是否做错了什么,想要一个解释而不是直接 link 对其他地方的事情我必须进一步解释那些没有真正帮助的事情。

我已经用 3 帧内存完成了一个序列, 0, 3, 1, 2, 3, 2, 0, 1, 0, 1, 3, 0, 2, 3, 1

Screenshot of my working

Y = 有故障,N = 无故障。

更新:尝试修复我的 FIFO, new working for FIFO

在执行fifo时,在每一步中,我们都会复制之前的缓存状态。请注意,缓存槽从左到右按最老到最年轻的顺序排列。根据命中或未命中,我们做以下两件事之一:

如果命中则什么也不做。

如果错过,删除最左边的缓存条目。在右侧追加新条目。

在执行 lru 时,除了当被击中时,我们将被击中的项目移动到最右边的位置之外,一切都保持不变。这意味着该项目命中成为其同行中最年轻的。

2mints bangla 中的 FIFO 页面替换算法! https://www.youtube.com/watch?v=QuucGuHkLcI&t=9s