在一个分页存储管理系统中,逻辑地址长度为16位,页面大小是4KB,某进程页表页号为0,1,2,3分别对应的物理块号是8,2,7,1,则: (1)将逻辑地址31C1H(H表示十六进制)转换成物理地址。 (2)将逻辑地址2500(十进制)转换成物理地址。
时间: 2023-03-02 22:04:40 浏览: 251
对于该分页存储管理系统,每个页面的大小为4KB,即2^12字节,每个页表项占用4字节(1个页号+3个页表标志位),所以一个页表最多能够映射2^16 / 2^12 = 2^4 = 16个页面。
(1)将逻辑地址31C1H转换成物理地址:
首先将逻辑地址31C1H转换为二进制数,得到:0011 0001 1100 0001
16位逻辑地址中,前12位为页内偏移量,后4位为页号。因为每个页面大小为4KB,即2^12字节,所以逻辑地址的前12位偏移量可以直接映射到物理地址的前12位,物理地址的后12位与逻辑地址的后12位相同。
对于逻辑地址的页号,将其转化为十进制数,得到49,即逻辑地址所对应的页号为49。
根据题目中的页表,该进程的第49个页表项中存储的物理块号为8,因此逻辑地址31C1H所对应的物理地址为:1000 0001 1100 0001,即81C1H。
(2)将逻辑地址2500转换成物理地址:
首先将逻辑地址2500转换为二进制数,得到:0010 0101 0000 0000
同样地,逻辑地址的前12位偏移量可以直接映射到物理地址的前12位,物理地址的后12位与逻辑地址的后12位相同。
对于逻辑地址的页号,将其转化为二进制数,得到:0010 0101 0000,即逻辑地址所对应的页号为37。
根据题目中的页表,该进程的第37个页表项中存储的物理块号为未定义,因此逻辑地址2500所对应的物理地址无法确定。
相关问题
在一-个分页存储管理系统中,逻辑地址长度为16位,页面大小是4KB,某进程页表页号为0,1,2,3分别对应的物理块号是8,2,7,1,则: (1)将逻辑地址31C1H(H表示十六进制)转换成物理地址,。 (2)将逻辑地址2500(+进制)转换成物理地址。
好的,我明白了。针对你的问题,我来解答一下:
(1) 首先,逻辑地址长度为16位,转换成二进制后为00000000 11000001,其中前12位为页号,后4位为页内偏移量。由于页面大小是4KB,也就是2^12,因此页内偏移量最大为2^12-1,也就是0xFFF。因此,该逻辑地址所在的页号为 00000000 11000001 的前12位,即 00000000 1100,对应的物理块号为 8。而页内偏移量为 0001,即十进制的 1。因此,物理地址为 00001000 00000001。
(2) 同理,逻辑地址长度为16位,转换成二进制后为00000010 01010000,其中前12位为页号,后4位为页内偏移量。由于页面大小是4KB,也就是2^12,因此页内偏移量最大为2^12-1,也就是0xFFF。因此,该逻辑地址所在的页号为 00000010 0101 的前12位,即 00000010 0101,对应的物理块号为 7。而页内偏移量为 0000,即十进制的 0。因此,物理地址为 00000111 00000000。
希望这些答案对你有所帮助。
一个分页存储管理系统中,页号长度为22比特,页内偏移为12比特。物理地址空间中,每个地址有32位。页表中,每个页表项的长度为32比特的整数倍。 (1)该系统中,进程的逻辑地址空间最大是多少?进程的每个页面有多少字节?页框号的长度是多少比特?(4分) (2)采用一级页表,每个进程的页表大小为多少字节?该系统是否需要启用二级页表,为什么?(4分) (3)该系统中,逻辑地址空间大于物理地址空间,这类系统正常运行需要采取什么措施?(2分)
(1) 由于页号长度为22比特,所以进程的逻辑地址空间大小为2的22次方,即4MB。每个页面有2的12次方,即4KB字节。物理地址空间中,每个地址有32位,因此页框号的长度为32-12=20比特。
(2) 采用一级页表,每个进程的页表大小为2的22次方/2的12次方*32比特=2的20次方*32比特=4MB。该系统不需要启用二级页表,因为一级页表已经可以覆盖整个进程的逻辑地址空间。
(3) 该系统中,逻辑地址空间大于物理地址空间,需要采取虚拟存储技术,将进程所需的页面从磁盘上搬到内存中,需要时再将其读取到内存中。通过页面置换算法,优先替换掉暂时不会使用的页面,从而保证进程的正常运行。
阅读全文