FIFO为什么会发生Belady异常?而LRU又为什么不会发生Belady异常呢?
一、Belay异常
在置换算法中,给的实页数增加,虚页命中率有时会下降
二、LRU为什么不会发生Belady异常?
实页数增加 —> 能贮存的页数增加 —> 哪些页?—> 访问频率高的页
LRU当中替换的是使用频率最低的页,留下的都是使用频率高的页。当实页数增加,能够留下的高频访问的页也就更多,这直接关系到命中率的增加。
三、FIFO为什么会发生Belady异常?
实页数增加 —> 能贮存的页数增加 —> 哪些页?—> 后面来的页
先进先出的替换算法,完全不考虑使用频率,即使增加了实页数,多贮存的部分接下来常访问可能性也不一定大(看运气),也就并不一定能增加命中率。
四、注意
但当增加的实页数数目比较大时,能存的虚页数大大增加,无论访问频率如何,命中率肯定会增加。所以,Belady异常通常发生在只增加一个实页数的时候。