页面置换算法之 FIFO算法

先进先出置换算法(FIFO)

最简单的页面置换算法,淘汰最先调入的。

实现:队列

依据: 先进入的可能已经使用完毕。

基本思想:

当需要淘汰一个页面时,总是选择驻留主存时间最长的页面进行淘汰,即先进入主存的页面先淘汰。

理由:

最早调入主存的页面不再被使用的可能性最大。 即优先淘汰最早进入内存的页面。(往前看

说明:

  1. 该算法的出发点是最早调入内存的页面,其不再被访问的可能性会大一些。
  2. 该算法实现比较简单,对具有线性顺序访问的程序比较合适,而对其他情况效率不高。因为经常被访问的页面,往往在内存中停留最久,结果这些常用的页面却因变老而被淘汰。
  3. 先进先出算法存在一种 异常现象,即在某些情况下会出现分配给的进程物理块数增多,缺页次数有时增加,有时减少的奇怪现象,这种现象称为Belady现象
物理页面 2 3 2 1 5 2 4 5 3 2 5 2
物理块1 2 2 2 3 1 5 2 4 3
物理块2 3 3 1 5 2 4 3 5
物理块3 1 5 2 4 3 5 2
是否缺页

缺页9次,总访问次数12次
缺页率:9/12 = 75%

上一篇:PHP多进程编程(三) 管道通信2


下一篇:PHP常用函数 FIFO的宽度