首页 > 代码库 > 操作系统 页面置换算法LRU和FIFO

操作系统 页面置换算法LRU和FIFO

LRU(Least Recently Used)最少使用页面置换算法,顾名思义,就是替换掉最少使用的页面。

FIFO(first in first out,先进先出)页面置换算法,这是的最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最长的页面给予淘汰。

       FIFO置换算法有这样一个奇怪现象:内存空间块数越多,缺页中断率可能相反的越高(缺页中断次数越高)。

LFU(Least Frequently Used)最近最少使用算法,它是基于“如果一个数据在最近一段时间内使用次数很少,那么在将来一段时间内被使用的可能性也很小”的思路。

  注意LFU和LRU算法的不同之处,LRU的淘汰规则是基于访问时间,而LFU是基于访问次数的。

计算用LRUFIFO算法计算缺页中断

       在一个虚拟存储管理系统中,假如系统分配给一个作业的内存物理块数是3,并且此作业的页面使用顺序为2,3,2,1,5,2,4,5,3,2,5,2,若采用FIFO和LRU置换算法,其产生的缺页次数分别为多少 。

【解析】

本题主要考查虚拟内存的页面调度算法。题目中当采用FIFO时,其页面调度过程如下:
2  3  2  1  5  2  4  5  3  2  5  2

2  2  2  2  5  5  5  5  3  3  3  3   [第一个内存物理块]

3  3  3  3  2  2  2  2  2  5  5   [第二个内存物理块]

1  1  1  4  4  4  4  4  2   [第三个内存物理块]

 

可知缺页次数为9。

采用LRU时,其页面调度过程:

2  3  2  1  5  2  4  5  3  2  5  2

2  2  2  2  2  2  2  2  2  2  2  2

   3  3  3  5  5  5  5  3  3  3  3

         1  1  1  4  4  4  4  5  5

可计算其缺页次数为7。

 

操作系统 页面置换算法LRU和FIFO