36位字节寻址系统虚拟内存映射所需页表层级数求解
页表级数计算问题
现有支持虚拟内存的36位字节寻址系统,最大可安装32GB物理内存,页面大小为16KB,每个页表条目占4字节,且每个页表必须能放入4个页面中。请问映射系统全部虚拟内存需要多少级页表?
推理步骤
- 计算单个页面可容纳的页表条目数:页面大小为
16KB=2^14字节,每个条目占4字节=2^2字节,因此单个页面可存2^14 / 2^2 = 2^12个条目 - 计算单个页表的最大条目数:每个页表需放入4个页面,因此单个页表最多有
4 * 2^12 = 2^14个条目 - 计算虚拟页面总数:虚拟地址是36位,页面大小16KB,因此虚拟页号位数为
36 - 14 = 22位,对应虚拟页面数为2^22 - 计算所需页表级数:用虚拟页面数的位数除以单个页表能覆盖的位数,向上取整得
ceil(22/14)=2
结论
映射系统全部虚拟内存需要2级页表
内容的提问来源于stack exchange,提问作者Abdou Jom
相关产品推荐
相关产品推荐

