举例说明:例如在一个虚存系统中,进程的内存空间为3页,已开始内存为空,有以下访问序列:2,3,2,1,5,2,4,5,3,2,5,2。分别用以上两种方法分别计算缺页次数。
A:使用FIFO(页面淘汰算法)
FIFO:先进先出,也就是,
先调2(缺) 内存为2.
调3(缺) 内存2.3.
调2(不缺)内存2.3
调1(缺)内存2.3.1
调5(缺)内存5.3.1(因为先进先出,所以替换调最先进来的2)
调2(缺)内存5.2.1(同样替换调3)
调4(缺)内存5.2.4
调5(不缺)内存5.2.4
调3(缺)3.2.4
调2(不缺)3.2.4
调5(缺)3.5.4
调2(缺)3.5.2 所以一共缺了9次
B:使用LRU(最近最少使用算法)
LRU:最近最少使用算法,也就是替换掉最远没有使用的,看示例:
还是跟上面一样,先调用2(缺) 内存2
调3(缺) 内存2.3
调2(不缺) 内存2.3
调1(缺) 内存2.3.1
调5(缺) 内存2.5.1(为什么是替换掉3呢,因为最近使用了1和2 而3没有进行使用)
调2(不缺)内存2.5.1
调4(缺)内存2.5.4(1最近没有使用)
调5(不缺)内存2.5.4
调3(缺)3.5.4
调2(缺)3.5.2
调5(不缺)3.5.2
调2(不缺)3.5.2 所以一共缺页7次。