如何使用页面缓冲将修改后的页面写出到辅助内存?

How should modified pages be written out to secondary memory using Page Buffering?

我正在为期末考试 OS 学习,目前遇到一个问题:

假设系统使用请求分页作为其获取策略。

驻留大小为 2 页。

替换策略是最近最少使用 (LRU)。

初始空闲帧列表:10、20、30、40、50

假设一个程序使用以下页面引用序列运行:
3(读),2(读),3(写),1(写),1(写),0(写),3(读)

我被要求显示自由框架列表、修改列表和页面的最终内容table。

Here 是标准答案。

This 是我设法做到的。

最终的Resident Set是正确的,但是free frame list和modified list不对。我只是看不出修改后的列表如何不包含页码 0(因为它被写入内存),而页码 1 没有被写入,即使它在它之前被引用。

如有任何帮助,我们将不胜感激。

为什么在第4步将3(10)回收到空闲列表?它是最近最少使用的(而且很脏),所以你会想要保留它,并摆脱 2(20)。这似乎是模型答案的基础。