FIFO、LRU、OPT这三种置换算法的缺页次数

考虑下述页面走向:

1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法的缺页次数各是多少?

答:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。

FIFO法:

因为FIFO表示先进先出,它们的执行流程是这样的,如果该值在内存块中,则内存块的值不变;如果该值不在内存块,则将该值放入出栈口地址。当内存块数量为3时,FIFO的演示图如下图所示,其中蓝色标记表示将被替换的单元(也即出栈口地址),

FIFO、LRU、OPT这三种置换算法的缺页次数

LRU法:

LRU是Least Recently Used 近期最少使用算法,它的执行流程是这样的,如果该值在内存块中,则内存块重新调整位置,即将该值调整到最前面的位置并将最后面的位置依次后移;如果该值不在内存块中,则插入该值,即将该值调整到最前面的位置并将最后面的位置剔除;具体如下图所示:

FIFO、LRU、OPT这三种置换算法的缺页次数

参考资料:

对用LRU和FIFO算法计算“缺页中断”的理解

FIFO、LRU、OPT这三种置换算法的缺页次数

上一篇:Codeforces 749B:Parallelogram is Back(计算几何)


下一篇:CallableStatement执行存储过程