设有一页式存储管理系统,向用户提供的逻辑地址空间最大为 32页,每页1024B,内存总共有8个存储块。试问逻辑地址至少 应为多少位?内存空间有多大?
时间: 2024-05-21 11:17:27 浏览: 88
根据题目,最大的逻辑页数为32,那么一个逻辑地址需要5位二进制数来表示($2^5=32$)。每一页的大小为1024B,也就是$2^{10}$B,因此一页的地址需要10位二进制数来表示。那么一个物理地址需要的位数为$5+3+10=18$位二进制数。
内存总共有8个存储块,也就是8个物理页框,因此内存总共的大小为$8\times 2^{10}$B,即8192B。
相关问题
设有一个32位寻址的页式存储管理系统,页面大小为16kb,假定页面号在最左边,页内偏
在一个32位寻址的页式存储管理系统中,页面大小为16kb。假设我们对这个系统进行如下假设,在物理寻址方面,我们需要一个32位的物理地址来寻找存储器的位置。在这个物理地址中,最左边的13位用于表示页面的索引,剩下的19位用于表示在页面内部的偏移。
根据这个假设,我们可以推导出这个系统可以支持的页表大小。页面大小为16kb,即2^14字节,所以在13位的页面索引中可以表示2^13个页面。每个页面可以容纳2^19个偏移地址,所以总共可以寻址2^13 * 2^19 = 2^32个字节,正好是32位寻址系统的地址空间大小。
在这个32位寻址的页式存储管理系统中,如果我们想要访问物理地址为x的字节,我们可以将这个物理地址分为两部分。首先,我们使用物理地址的高13位来查找页面表,以获取存储器中对应的页面号。然后,我们使用物理地址的低19位来定位在页面内部的偏移地址。通过这种方式,我们可以找到所需数据的存储位置。
总之,假设有一个32位寻址的页式存储管理系统,页面大小为16kb。在这个系统中,页面号在最左边,页内偏移通过剩下的位数来定位。通过使用13位的页面索引和19位的偏移地址,我们可以在整个32位地址空间中寻址一个页面大小为16kb的存储系统。
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位作为页内偏移量,得到最终的物理地址。