在请求页式虚拟存储器中,主存容量为1MB,被分成256页,页面大小为4KB,先有一进程的页表如下: 页号 中断位 块号 0 1 24 1 1 26 2 1 32 3 0 -- 4 0 --- (1)若给定逻辑地址为9058(十进制),其物理地址为多少? (2)若给定逻辑地址为12300(十进制),其物理地址为多少?
时间: 2024-02-26 17:58:39 浏览: 109
用户申请很大的一块内存,如何得到每页对应的物理地址
由于页面大小为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。
阅读全文