问答题 假定占有M块内在(初始为空)的进程有一个页访问串,这个页访问串的长度为P,其中涉及Q个不同的页号。对于任何页面替换算法,计算出:
(1)缺页中断次数的下界是多少?
(2)缺页中断次数的上界是多少?
【正确答案】
【答案解析】对于任何页面替换算法,缺页中断次数的下界是Q,缺页中断次数的上界是P。发生缺页中断的原因是当前访问的页不在内存中,需进行页面调度,将该页面调入主存,此时不管内存中是否已满(若满则选择调出一页,若不满则可直接调入),都要发生一次缺页中断,故无论怎样安排,Q个不同页号在初次进入主存时都要发生一次缺页中断,总共发生Q次。
再讨论上限为什么是P。在进行页面调度时,进入内存的页面不可能永久占有内存,会在某个时刻被调出,最坏的情况是每当访问一个页面,该页都不在主存,都要产生一次缺页中断;所以会发生P次中断,举例如下:
下限:M=2,P=12,Q=4,有如下访问串:
1 1 1 2 2 3 3 3 4 4 4 4
缺页中断数为4;
上限:M=2,P=12,Q=4,有如下访问串:
1 2 3 4 1 2 3 4 1 2 3 4
缺页中断数为12。 [解析] 本题考的是对页面替换整体概念的理解。对于任何一个算法而言,衡量其优劣的标准并不是页故障的多少,因为页故障数是随着访问串的内容变化而发生变化的,本题就是要说明这一点。