在请求页式虚拟存储器中,主存容量为1MB,被分成256页,页面大小为4KB,先有一进程的页表如下: 页号 中断位 块号 0 1 24 1 1 26 2 1 32 3 0 -- 4 0 --- (1)若给定逻辑地址为9058(十进制),其物理地址为多少? (2)若给定逻辑地址为12300(十进制),其物理地址为多少?
时间: 2024-02-26 20:58:39 浏览: 20
由于页面大小为4KB,因此一个页面可以容纳4KB/1B=4096个字节,即2^12个字节。因此,逻辑地址的高8位表示页号,低12位表示页内偏移量。
由题可知,主存容量为1MB,被分成256页,因此每页大小为1MB/256=4KB,共有256个页。进程的页表如下:
```
页号 中断位 块号
0 1 24
1 1 26
2 1 32
3 0 --
4 0 ---
```
对于逻辑地址9058,它的页号为8(即9058/4096=2),页内偏移量为2KB+338B(即9058 mod 4096=338)。由于页表中的第二项中断位为1,因此该页已经被调入主存中,块号为26。因此,该逻辑地址对应的物理地址为26*4KB+338=107314。
对于逻辑地址12300,它的页号为12(即12300/4096=3),页内偏移量为252B(即12300 mod 4096=252)。由于页表中的第三项中断位为1,因此该页已经被调入主存中,块号为32。因此,该逻辑地址对应的物理地址为32*4KB+252=131100。
因此,逻辑地址9058对应的物理地址为107314,逻辑地址12300对应的物理地址为131100。
相关问题
设主存容量为1mB,外存容量为400MB计算机系统的地址寄存器有32位那么虚拟存储器的最大容量是多少,为什么
虚拟存储器的最大容量取决于地址寄存器的位数。在这种情况下,地址寄存器有32位,每个地址位可以表示2^32个不同的内存位置。
虚拟存储器的最大容量可以通过将地址位数转换为字节来计算。由于每个地址位可以表示2个不同的值(0或1),因此32位可以表示2^32个不同的地址。每个地址对应一个字节,所以最大容量为2^32字节。
将字节转换为MB,我们可以使用以下换算关系:
1MB = 1024 * 1024字节
因此,虚拟存储器的最大容量为:
2^32字节 = 2^32 / (1024 * 1024) MB ≈ 4,294,967.296 MB ≈ 4,294.97 GB
所以,虚拟存储器的最大容量大约为4,294.97 GB。这是因为32位地址寄存器可以表示的不同内存位置数量非常大,因此能够支持较大的虚拟存储器容量。
设有一个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的存储系统。