在一个分页虚存系统中,用户虚地址空间为32页,页长1KB,主存物理空间为16KB,已知用户程序长度为10页长,若虚页0,1,2,3已经被分别调入主存8,7,4,10页中,请问虚地址0AC5H和1AC5H对应的物理地址是多少?
时间: 2023-10-08 16:10:00 浏览: 258
用户申请很大的一块内存,如何得到每页对应的物理地址
由题可得,用户虚地址空间为32页,页长为1KB,因此每个页内偏移量需要10位二进制数来表示。主存物理空间为16KB,即有16个物理页,每页长为1KB。因此,每个物理页也需要10位二进制数来表示。
已知用户程序长度为10页长,即占用了虚拟地址空间中的0~9页。而虚页0、1、2、3已经被分别调入主存8、7、4、10页中。因此,虚页4~9还没有被调入主存。
对于虚地址0AC5H,它的二进制表示为:0000 1010 1100 0101。其中高5位表示页号,即页号为0AH。低10位表示页内偏移量,即偏移量为0C5H。由于虚页0已经被调入主存8页中,因此虚页0对应的物理页号为8。虚页0的偏移量为0C5H,转换成物理地址的偏移量仍然是0C5H。因此,虚地址0AC5H对应的物理地址为:
物理地址 = 8 * 1KB + 0C5H = 2125H
对于虚地址1AC5H,它的二进制表示为:0001 1010 1100 0101。其中高5位表示页号,即页号为1AH。低10位表示页内偏移量,即偏移量为0C5H。由于虚页1已经被调入主存7页中,因此虚页1对应的物理页号为7。虚页1的偏移量为0C5H,转换成物理地址的偏移量仍然是0C5H。因此,虚地址1AC5H对应的物理地址为:
物理地址 = 7 * 1KB + 0C5H = 1797H
因此,虚地址0AC5H对应的物理地址为2125H,虚地址1AC5H对应的物理地址为1797H。
阅读全文