在分页存储管理系统中,页表如下所示。假设页面大小为1024字节,请尝试将逻辑地址1011、2150、4000、6012转换为相应的物理地址。 页号 0、1、2、3 块号 3 5 1 4
时间: 2023-12-28 12:06:40 浏览: 60
由于页面大小为1024字节,一个页面可以存放1024/4=256个字。因此,逻辑地址中的前10位表示页号,后10位表示偏移量。
将逻辑地址转换为物理地址的步骤如下:
1. 对于逻辑地址1011,页号为0,偏移量为1011-0\*1024=987。根据页表可知,页号0对应的块号为3,所以物理地址为3\*256+987=1235。
2. 对于逻辑地址2150,页号为2,偏移量为2150-2\*1024=102。根据页表可知,页号2对应的块号为1,所以物理地址为1\*256+102=358。
3. 对于逻辑地址4000,页号为3,偏移量为4000-3\*1024=904。根据页表可知,页号3对应的块号为4,所以物理地址为4\*256+904=2096。
4. 对于逻辑地址6012,页号为5,偏移量为6012-5\*1024=236。由于页表中没有页号为5的块号,说明该页不存在,因此无法将该逻辑地址转换为物理地址。
相关问题
若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应的物理地址。 页号 物理块号 0 2 1 3 2 1 3 6
好的,我来解答您的问题。
根据题目所给的页表,可以得知该系统中共有 4 个物理块,每个物理块的大小为 1024 字节。根据题目所给的逻辑地址,需要将其转化为相应的物理地址。
对于逻辑地址 1011,其所在的页号为 0,对应的物理块号为 2,因此该逻辑地址对应的物理地址为:2 * 1024 + 1011 % 1024 = 3072 + 987 = 4059。
对于逻辑地址 2148,其所在的页号为 2,对应的物理块号为 1,因此该逻辑地址对应的物理地址为:1 * 1024 + 2148 % 1024 = 1024 + 1100 = 2124。
对于逻辑地址 4000,其所在的页号为 3,对应的物理块号为 6,因此该逻辑地址对应的物理地址为:6 * 1024 + 4000 % 1024 = 6144 + 904 = 7048。
对于逻辑地址 5012,其所在的页号为 4,但是页表中只有 4 个页表项,因此该逻辑地址所在的页面不在内存中,会发生页错误。
综上所述,逻辑地址 1011,2148,4000 对应的物理地址分别为 4059,2124,7048,逻辑地址 5012 会发生页错误。
32位linux系统采用分页存储管理方式,其中页的大小设为16kb,则逻辑地址0x0008c31e
32位Linux系统采用分页存储管理方式,其中页的大小设为16KB。逻辑地址0x0008c31e可以被划分为两部分,即高12位和低20位。
由于页的大小为16KB,即2^14字节,所以低20位可以表示页内偏移量,即0x1e。而高12位表示页号。
对于逻辑地址0x0008c31e,该地址的高12位为0x000,即页号为0。而低20位为0x8c31e的低20位,则表示页内偏移量为0x1e。
因此,逻辑地址0x0008c31e对应的物理地址为:页号为0的物理页面起始地址+0x1e。
需要注意的是,由于采用分页存储管理方式,逻辑地址需要经过页表映射才能得到物理地址。页表将逻辑地址的高12位作为索引,查找对应的页表项。页表项中保存着物理页面的起始地址。
总结来说,逻辑地址0x0008c31e对应的物理地址是通过页表查找得到的,通过将逻辑地址的高12位作为索引,在页表中找到对应的页表项,再加上低20位作为页内偏移量,得到最终的物理地址。