问题
单项选择题
假设一台按字节编址的16位计算机系统,采用虚拟页式存储管理方案,页面的大小为2K,且系统中没有使用快表(或联想存储器)。某用户程序如图a所示,该程序的页面变换表如图b所示,表中状态位等于1和0分别表示页面在内存或不在内存。 图a中MOVE Data1,Data2是一个4字节的指令,Datal和Data2表示该指令的两个32位操作数。假设MOVE指令存放在2047地址开始的内存单元中,Datal存放在6143地址开始的内存单元中,Data2存放在10239地址开始的内存单元中,那么执行MOVE指令将产生()次缺页中断,其中:取指令产生()次缺页中断。
取指令产生()次缺页中断。
A.0
B.1
C.2
D.3
答案
参考答案:B
解析:
本题考查操作系统中系统内存管理方面的知识。从题图中可见,程序的MOVE指令跨两个页面,且源地址Datal和目标地址Data2所涉及的区域也跨两个页面的页内地址,根据题意,页面1、2、3、4和5不在内存,系统取MOVE Datal,Data2指令时,由于该指令跨越页面0、1,查页面变换表可以发现页面1不在内存,故需要产生一次缺页中断;取地址为Datal的操作数,由于该操作数不在内存且跨页面2、3,需要将页面2、3装入内存,所以产生两次缺页中断;同理,取地址为Data2的操作数时,由于该操作数不在内存且跨页面4、5,需要将页面4、5装入内存,所以产生两次缺页中断, * * 生5次缺页中断。