【正确答案】
B
【答案解析】[解析] 实现虚拟存储器能给用户提供一个容量很大的存储器,但当主存空间已装满而又要装入新页时,必须按一定的算法把已在主存的一些页调出去,这个工作称页面调度。所以,页面调度算法实际上就是用来确定应该淘汰哪页的算法。算法的选择是很重要的,选用了一个不适合的算法,就会出现这样的现象:刚被淘汰的页面又立即要用,因而又要把它调入,而调入不久再被淘汰,淘汰不久再被调入。如此反复,使得整个系统的页面调度非常频繁以至于大部分时间都在来回调度上。这种现象叫做“抖动”,又称“颠簸”,一个好的调度算法应减少和避免抖动现象。
为了衡量调度算法的优劣,考虑在固定空间的前提下来讨论各种页面调度算法。这一类算法是假定每道作业都给固定数的主存空间,即每道作业占用的主存块数不允许页面调度算法加以改变。在这样的假定下,怎样来衡量一个算法的好坏呢?
假定作业p共计n页,而系统分配给它的主存块只有m块(m、n均为正整数,且1≤m≤n),即最多只能容纳m页。如果作业p在运行中成功的访问次数为S(即所访问的页在主存中),不成功的访问次数为F(即缺页中断次数),则总的访问次数A为:
A=S+F
又定义:
f=F/A
则称f为缺页中断率。影响缺页中断率f的因素有:
√分配给作业的主存块数。分配给作业的主存块数多,则缺页中断就低;反之,缺页中断率就高。
√页面的大小,如果划分的页面大,则缺页中断率就低,否则缺页中断率就高。但它们之间的关系不是简单的反比关系。
√页面调度算法。
√作业本身的程序编制方法。程序编制的方法不同,对缺页中断的次数有很大影响。