某页式存储管理系统,内存的大小为64KB,被分为16块,块号为0、1、2、……、15。设某进程有4页,其页号为0、1、2、3,被分别装入内存的2、4、7、5,问: (1)该进程的大小是多少字节? (2)写出该进程每一页在内存的起始地址。 (3)逻辑地址4146对应的物理地址是多少?
时间: 2023-08-31 21:35:47 浏览: 605
每一页的大小是内存大小除以页数,即64KB/4=16KB=16384B。所以该进程的大小是4页*16384B=65536B=64KB。
该进程每一页在内存的起始地址为:
- 页0:2 * 4KB = 8192
- 页1:4 * 4KB = 16384
- 页2:7 * 4KB = 28672
- 页3:5 * 4KB = 20480
逻辑地址4146对应的物理地址需要进行地址转换。4146的二进制表示是1000000100010,其中前2位是页号,后13位是页内偏移。因为该进程有4页,所以页号需要2位二进制数来表示,即00、01、10、11,而4146的二进制表示中的前两位是10,所以它属于第二页。在第二页内部的偏移量为4146的二进制表示中的后13位,即0000100010,转换为十进制为66。因此,逻辑地址4146对应的物理地址为第二页的起始地址加上偏移量,即16384+66=16450。
相关问题
设有一个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的存储系统。
某分页存储管理系统中,页面大小为4kb,系统中的地址占16位,给定页面变换表如下表所
页面变换表:
页号 => 块号
0 => 3
1 => 7
2 => 4
3 => 2
在分页存储管理系统中,分页用于将进程的虚拟地址空间映射到物理内存中。页面大小为4kb,即2^12字节,地址为16位,即2^16个地址空间。
根据给定的页面变换表,可以看出页面号为0的页被映射到了块号为3的物理内存块上,页面号为1的页映射到了块号为7的物理内存块上,页面号为2的页映射到了块号为4的物理内存块上,页面号为3的页映射到了块号为2的物理内存块上。
对于一个16位的地址空间,前12位用来表示页面内的偏移量,后4位表示页面号。假设页面号为x,那么其真实地址为(块号 * 页面大小) + 页面偏移量。
例如,对于地址0x47a9,页面号为4,偏移量为0x7a9,对应的块号为2。因此,该地址对应的物理内存地址为2 * 4kb + 0x7a9 = 0x1fa9。
通过页面变换表和地址映射规则,系统能够有效地管理页面和物理内存之间的映射关系,实现了分页存储管理系统的地址转换和内存访问。