有如图所示的页表中的虚地址与物理地址之间的关系即该进程分得6个主存块。页的大小为4096。给出对应下面虚地址的物理地址。(1) 20;(2) 5100;(3) 8300;(4) 47000。 页表 逻辑页号 0 1 2 3 4 5 6 7 物理块号 2 1 6 0 4 3 x x
时间: 2023-06-20 08:09:10 浏览: 152
根据题意,可以得到以下信息:
- 页表中每个页的大小为4096字节,即4KB。
- 逻辑页号从0开始,因此第i个逻辑页号对应的虚地址范围为 [i × 4KB, (i + 1) × 4KB - 1]。
- 物理块号从0开始,因此第i个物理块号对应的物理地址范围为 [i × 4KB, (i + 1) × 4KB - 1]。
根据上述信息以及题目给出的页表,可以得到如下的虚地址与物理地址的对应关系:
- 虚地址20对应的逻辑页号为5,对应的物理块号为3,因此物理地址为:3 × 4KB + 20 = 12348。
- 虚地址5100对应的逻辑页号为1,对应的物理块号为1,因此物理地址为:1 × 4KB + 5100 = 9228。
- 虚地址8300对应的逻辑页号为2,对应的物理块号为6,因此物理地址为:6 × 4KB + 8300 = 55468。
- 虚地址47000对应的逻辑页号为11(假设逻辑页号从0开始),由于页表中只给出了0到7的物理块号,因此该虚地址对应的物理地址不存在,发生了页错误。
相关问题
. 有如图所示的页表中的虚地址与物理地址之间的关系即该进程分得6个主存块。页的大小为4096。给出对应下面虚地址的物理地址。(1) 20;(2) 5100;(3) 8300;(4) 47000。
根据页面大小为4096,可知一个页面占用的字节数为4096个字节,即2的12次方。因此,虚地址的前20位是页号,后12位是页内偏移量。
对于给定的虚地址,可以通过以下步骤计算出对应的物理地址:
1. 对虚地址进行拆分,得到页号和页内偏移量。
2. 根据页号查找页表,得到对应的物理页框号。
3. 将物理页框号左移12位,得到物理地址的前20位。
4. 将页内偏移量添加到物理地址的前20位上,得到最终的物理地址。
具体计算如下:
1. 对于虚地址20,页号为0,页内偏移量为20。
物理页框号为3,即该进程第4个页面。
物理地址为(3 << 12) + 20 = 12292。
2. 对于虚地址5100,页号为1,页内偏移量为964。
物理页框号为7,即该进程第8个页面。
物理地址为(7 << 12) + 964 = 29188。
3. 对于虚地址8300,页号为2,页内偏移量为332。
物理页框号为5,即该进程第6个页面。
物理地址为(5 << 12) + 332 = 21548。
4. 对于虚地址47000,页号为11,页内偏移量为356。
物理页框号为15,即该进程第16个页面。
物理地址为(15 << 12) + 356 = 62220。
有如图所示的页表中的虚地址与物理地址之间的关系即该进程分得6个主存块。页的大小为4096。给出对应下面虚地址的物理地址。(1) 20;(2) 5100;(3) 8300;(4) 47000。 页表 逻辑页号 物理块号 0 2 1 1 2 6 3 0 4 4 5 3 6 x 7 x
根据页表,我们可以得到以下虚拟地址和对应的物理块号:
- 虚拟地址 20 对应的物理块号为 2,物理地址为:2 * 4096 + 20 = 9228。
- 虚拟地址 5100 对应的物理块号为 6,物理地址为:6 * 4096 + 5100%4096 = 28692。
- 虚拟地址 8300 对应的物理块号为 0,物理地址为:0 * 4096 + 8300%4096 = 8300。
- 虚拟地址 47000 对应的物理块号为 4,物理地址为:4 * 4096 + 47000%4096 = 65524。
注意,在第 6 和第 7 个虚拟页号对应的物理块号未知,因此无法计算出对应的物理地址。
阅读全文