例如,在虚拟内存系统中,进程的内存空间为三页,起始内存为空,并有访问序列2、3、2、1、5、2、4、5、3、2、5、2、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) 1最近未使用) )。
5 (不缺)内存2.5.4
调3 (缺)3.5.4
调2 (缺)3.5.2
调5 (不可缺少)3.5.2
调2 (缺一不可)3.5.2,所以一共缺了7页。