问题 问答题

在一个请求页式存储管理系统中,进程P共有5页,访问串为:3,2,1,0,3,2,4,3,2,1,0,4时,试采用FIFO置换算法和LRU置换算法,计算当分配给该进程的页面数分别为3和4时,访问过程中发生的缺页次数和缺页率,比较所得的结果并解释原因。

答案

参考答案:

这里需要说明一下这里的页面置换示意图的表示方法。有些教材中采用的是下表中的方式(FIFO置换算法,3个页面)。其中,每次进行页面访问后,都将内存中的页面按照FIFO置换算法的队列关系或LRU置换算法的堆栈关系进行调整排序,这样下一次缺页时不需要再进行选择,直接置换最上面的页面即可。

我们这里不采用这种表示方式,而是保持页面在内存中的位置不变,这符合实际的情形。对于缺页时的置换,通过横向观察,同样可以容易地选择。以FIFO置换算法,4个页面时情况见下表:

在访问页面3时,此页不在内存中,发生缺页中断;这时对内存中的每个页面进行横向观察,其横向连续的长度即为在内存中驻留的时间,也就对应了进入内存的顺序。此时页面4、2、1、0的横向长度(阴影部分)分别为1、6、5、4,故选择驻留时间为6的页面2置换。

再以LRU置换算法,4个页面情况见下表:

在访问页面4时,此页不在内存中,发生缺页中断;这时对内存中的每个页面进行横向观察,它与最近一次访问之间的横向连续的长度,即为最近访问后在内存中驻留的时间,也就对应了LRU的堆栈顺序。此时页面3、2、1、0的横向长度(阴影部分)分别为2、1、4、3,故选择最近驻留时间为4的页面1置换。

单项选择题
单项选择题