设一个没有设置快表的虚拟页式存储系统,页面大小为100字节。一个仅有460个字节的程序有下述内存访问序列(下标从0开始):10、11、104、170、73、309、185、245、246、434、458、364,为该程序分配有2个可用页帧(Page frame)。试问:
问答题
试叙述缺页中断与一般中断的主要区别?
【正确答案】正确答案:本题考查缺页中断和页面置换算法。 缺页中断是一种特殊的中断,它与一般中断的区别是:①在指令执行期间产生和处理中断信号。CPU通常在一条指令执行完后检查是否有中断请求,而缺页中断是在指令执行时间,发现所要访问的指令或数据不在内存时产生和处理的;②一条指令在执行期间可能产生多次缺页中断。如一条读取数据的多字节指令,指令本身跨越两个页面,若指令后一部分所在页面和数据所在页面均不在内存,则该指令的执行至少产生两次缺页中断。
【答案解析】
问答题
若分别采用FIFO和LRU算法,试计算访问过程中发生多少次缺页中断?
【正确答案】正确答案:每个页面大小为100字节,则页面的访问顺序如下:

采用FIFO算法的页面置换情况如下表,共产生缺页中断6次。

采用LRU算法的页面置换情况如下表,共产生缺页中断7次。

【答案解析】
问答题
若一次访存的时间是10ms,平均缺页中断处理时间为25ms,为使该虚拟存系统的平均有效访问时间不大于22ms,则可接受的最大缺页中断率是多少?
【正确答案】正确答案:设可接受的最大缺页中断率为p。若要访问页面在内存中,一次访问的时间是10ms(访问内存页表)+10ms(访问内存)=20ms。如果不在内存,所花时间为10ms(访问内存页表)+25ms(中断处理)+10ms(访问内存页表)+10ms(访问内存)=55ms。平均有效访问时间: 20ms×(1一ρ)+55ms×ρ≤22ms,得可接受的最大缺页中断率ρ为5.7%。
【答案解析】