页面替换算法:最佳,FIFO和LRU

时间:2017-05-23 13:41:01

标签: algorithm operating-system

我有一个问题,我不确定。

一个计算机内存,总共有三个物理页面和页面引用顺序: 1,2,3,2,1,4,3,5,6,4,3,5,3,5,6,7,2,1,5,7。使用最优,FIFO和LRU页面替换算法

我试过了,但我不确定我的回答。 此外,在这种情况下,哪一个是一个很好的算法?为什么呢?

我的回答: my answer

最佳:PF 10

FIFO:PF 12

LRU:PF 16

2 个答案:

答案 0 :(得分:0)

如果我们从理论上分析,那么最优页面替换算法是最好的。 原因:

  • 它最小化页面错误(所有页面替换算法中的最小页面错误)
  • 它克服了Belady的异常

但是这个算法的问题是,它需要将来知道所需的页面,即需要在存储器中获取哪个页面,这是不可能的。

如果页面已知,则必须使用OPR算法。否则,根据需要的页面,分析每个算法的成本并实现导致最小页面错误的页面替换策略。

答案 1 :(得分:0)

任何页面替换的主要内容是访问模式/页面序列。此访问权限因操作系统的运行时工作负载而异。

如果我们能够清楚地看到访问模式并且可以预测将来需要的页面,那么最佳页面替换'是最好的。正如sanjay在另一个答案中所提到的,它可以最大限度地减少页面错误。

如果无法预测模式,LRU对于大多数实际工作负载来说都是不错的。但是一些工作负载可能会显示FIFO优于LRU。你可以在这里找到相同的discussion