FIFO:first in first out 先进先出算法
LRU:least recently used 近期最少使用算法
OPT:optimal page replacement 最佳页面置换算法
考虑下述页面走向:
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法的缺页次数各是多少?
答:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。
当内存块数量为3时:
![FIFO、LRU、OPT这三种置换算法的缺页次数 - yinzhezq - yinzhezq的博客](http://img465.ph.126.net/uxPiOhbNGYYQm8uzVPUprg==/2499779268168446586.png)
发生缺页中断的次数为16。
在FIFO算法中,先进入内存的页面被先换出。当页6要调入时,内存的状态为4、1、5,考查页6之前调入的页面,分别为5、1、2、4,可见4为最先进入内存的,本次应换出,然后把页6调入内存。
![FIFO、LRU、OPT这三种置换算法的缺页次数 - yinzhezq - yinzhezq的博客](http://img465.ph.126.net/iNel9KHUbzdhbiWfRlWLFA==/2499779268168446712.png)
发生缺页中断的次数为15。
在LRU算法中,最近最少使用的页面被先换出。当页6要调入时,内存的状态为5、2、1,考查页6之前调入的页面,分别为5、1、2,可见2为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。
![FIFO、LRU、OPT这三种置换算法的缺页次数 - yinzhezq - yinzhezq的博客](http://img685.ph.126.net/ie8elhS3JlY2bYbsax1hJA==/2796172418644958311.png)
发生缺页中断的次数为11。
在OPT算法中,在最远的将来才被访问的页面被先换出。当页6要调入时,内存的状态为1、2、5,考查页6后面要调入的页面,分别为2、1、2、…,可见5为最近一段时间内使用最少的,本次应换出,然后把页6调入内存。