题目
13.(考研真题)某虚拟存储器[1]的用户空间共有32个页面,每页1KB,内存16KB。假定某时刻系统为用户的第0、1、2、3页分配的物理块[2]号分别为5、10、4、7,而该用户作业的长度为6页,试将十六进制[3]逻辑地址[4]0A5C、103C、1A5C转换成物理地址。
13.(考研真题)某虚拟存储器[1]的用户空间共有32个页面,每页1KB,内存16KB。假定某时刻系统为用户的第0、1、2、3页分配的物理块[2]号分别为5、10、4、7,而该用户作业的长度为6页,试将十六进制[3]逻辑地址[4]0A5C、103C、1A5C转换成物理地址。
题目解答
答案
由题目所给条件可知,该系统的逻辑地址有15位,其中高5位为页号,低10位为页内地址;物理地址有14位,其中高4位为块号,低10位为块内地址。另外,由于题目中给出的逻辑地址是十六进制数,故可先将其转换成二进制[5]数以直接获得页号和页内地址,再完成地址的转换。 (1)逻辑地址0A5CH转化为二进制为 000101001011100 ,页号为00010,即2号页,页号合法。从页表[6]中找到对应的内存物理块号为4,即0100;与页内地址100101 1100拼接而形成物理地址 01001001011100 ,即125CH。 (2)逻辑地址103CH的页号为4,页号合法,但该页未装入内存,故产生缺页中断。 (3)逻辑地址1A5CH的页号为6,页号非法,故产生越界中断。
解析
步骤 1:确定逻辑地址和物理地址的位数
根据题目,用户空间共有32个页面,每页1KB,内存16KB。因此,逻辑地址有15位,其中高5位为页号,低10位为页内地址;物理地址有14位,其中高4位为块号,低10位为块内地址。
步骤 2:将十六进制逻辑地址转换成二进制
将题目中给出的逻辑地址0A5C、103C、1A5C转换成二进制,以直接获得页号和页内地址。
步骤 3:根据页号查找对应的物理块号
根据页号查找对应的物理块号,如果页号合法且已分配物理块,则将物理块号与页内地址拼接形成物理地址;如果页号合法但未分配物理块,则产生缺页中断;如果页号非法,则产生越界中断。
根据题目,用户空间共有32个页面,每页1KB,内存16KB。因此,逻辑地址有15位,其中高5位为页号,低10位为页内地址;物理地址有14位,其中高4位为块号,低10位为块内地址。
步骤 2:将十六进制逻辑地址转换成二进制
将题目中给出的逻辑地址0A5C、103C、1A5C转换成二进制,以直接获得页号和页内地址。
步骤 3:根据页号查找对应的物理块号
根据页号查找对应的物理块号,如果页号合法且已分配物理块,则将物理块号与页内地址拼接形成物理地址;如果页号合法但未分配物理块,则产生缺页中断;如果页号非法,则产生越界中断。