2K字节大小的页面,页表中从0开始的表项分别为20,15,16,50,32,逻辑地址1000,3000,5000对应的物理地址是多少?
时间: 2023-10-06 14:12:50 浏览: 41
根据题目中给出的页表项和逻辑地址,可以得出以下计算过程:
- 页面大小为2K字节,即每个页面有2048字节
- 逻辑地址1000属于第0号页面,即页面起始地址是0,对应的物理地址为20+1000-0=1020
- 逻辑地址3000属于第1号页面,即页面起始地址是2048,对应的物理地址为15+3000-2048=967
- 逻辑地址5000属于第2号页面,即页面起始地址是4096,对应的物理地址为16+5000-4096=920
- 注意,题目中未给出的逻辑地址2000、4000和6000均不在已知的页表项中,因此无法计算对应的物理地址
综上所述,逻辑地址1000、3000、5000对应的物理地址分别为1020、967和920。
相关问题
物理地址有32位,逻辑地址48位,页面大小4kb,给出页表的页表项的大小,给出尽可能详细的过程
页表项的大小可以通过计算得出。
首先,逻辑地址的位数为48位,其中低12位表示页内偏移量(因为页面大小是4kb,即2的12次方),剩下的36位表示页号。假设每个页表项的大小为x位,则一个页表项可以存储x/8个字节的信息。因此,一个页表项可以映射一个页面。所以,我们可以得出以下等式:
2的36次方个逻辑页 = 2的32次方个物理页 x 每个页表项可以映射一个页面
转化一下,得到:
2的36次方 / 每个逻辑页占用的字节数 = 2的32次方 / 每个物理页占用的字节数 x 每个页表项占用的字节数
将逻辑地址和物理地址的位数转换为字节数,即除以8,得到:
2的33次方 / 2的2次方 = 2的32次方 / 2的12次方 x (x / 8)
化简一下,得到:
x = 8 x 2的14次方
因此,每个页表项的大小为16KB。
如果页面大小为4k,那么页表项用多少位表示
如果页面大小为4K,则一个页面最多可以包含2的12次方个字节,也就是4096个字节。因此,对于一个进程的地址空间而言,最多可以划分成2的32次方/2的12次方=2的20次方个页面。每个页面需要对应一个页表项来描述其对应的物理地址。其中,页表项需要包含页面的起始物理地址、页面的权限信息等内容。如果页表项使用32位表示,则每个页表项需要占用32个二进制位。因此,对于一个4K大小的页面而言,页表项需要占用32位/4096字节=8位(即1字节)的存储空间。这意味着,在32位地址空间下,需要2的20次方个页表项,每个页表项占用1字节的存储空间,因此,总共需要2的20次方*1字节=1MB的页表空间来存储页表项。