【正确答案】
B
【答案解析】(38),(39)[分析]
本题考查的是分页存储管理地址变换和缺页中断方面的基础知识。
对于试题(38),采用分页存储管理方案,操作系统将进程的每一页离散地分配到主存的多个物理块中,为此系统需要为每个进程建立了一张页面映射表,简称页表,记录每个页面在主存中对应的物理块号,页表是放在主存中的。进程在执行时,首先查找页表,然后再取指令或者取数据。这样执行16位的swap 指令时,首先需要取指令,因此先访问页表,取指令的高字节,再访问页表,取指令的低字节,共需4次访问主存;然后取操作数A,访问页表,取操作数A的高字节,再访问页表,取操作数A 的低字节,共需4次访问主存;最后取操作数B,访问页表,取操作数B 的高字节,再访问页表,取操作数B的低字节,共需4次访问主存。从上分析可见共需访问12次主存。
对于试题(39),在虚拟(请求)分页存储系统中,由CPU 的地址变换机构根据页表中的状态位判断是否产生缺页中断,然后调用操作系统提供的中断处理例程。缺页中断的特殊性主要体现在如下两点:
·缺页中断在指令执行期间产生和进行处理,而不是在一条指令执行完毕之后。所缺的页面调入之后,重新执行被中断的指令。
·一条指令的执行可能产生多次缺页中断,如:swap A,B 而指令本身和两个操作数A,B 都跨越相邻外存页的分界处,则产生5次缺页中断(不可能出现指令本身的两次缺页)。必须由CPU 硬件确保对多个现场的保存。