假设一个机器有38位的虚权地址和32位的物理地址。(a)与一级页表比较,多级页表的主要优点是什么?(b)若采用二级页表,页面大小为16KB,每个页表项为4字节,应该对第一级页表域分配多少位?对第二级页

Posted wanluN1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了假设一个机器有38位的虚权地址和32位的物理地址。(a)与一级页表比较,多级页表的主要优点是什么?(b)若采用二级页表,页面大小为16KB,每个页表项为4字节,应该对第一级页表域分配多少位?对第二级页相关的知识,希望对你有一定的参考价值。

题目:
假设一个机器有38位的虚权地址和32位的物理地址。(a)与一级页表比较,多级页表的主要优点是什么?(b)若采用二级页表,页面大小为16KB,每个页表项为4字节,应该对第一级页表域分配多少位?对第二级页表域分配多少位?请解释原因。

我的解答:

(a) 尽可能较少在页表中产生内部碎片,使得页表在满足内存使用需求时,且尽可能少先用内存空间。
(b) 计算偏移量: 页面大小为16KB则为14位
计算最大能有多少个页:2^38/2^14=2^24个页
则我们可以计算出一级页表占用的空间:2^24*2^2B=2^26B
二级页表主要原理就是把一级页表进行分页,则可将一级页表分为2^26B/2^14B=2^12个页,则页目录索引域要12位
到这里其实已经可以得出答案了 因为32-12-14=12也可以得出页表索引域要12位
为了理解我们来算一下
将一级页表分页,每个页16KB,一个页表项4B 则2^14/4=2^12 每个页内有2^12个页表项,则页表索引位域为12(答案由 高万禄-桂林电子科技大学书写)


以上是关于假设一个机器有38位的虚权地址和32位的物理地址。(a)与一级页表比较,多级页表的主要优点是什么?(b)若采用二级页表,页面大小为16KB,每个页表项为4字节,应该对第一级页表域分配多少位?对第二级页的主要内容,如果未能解决你的问题,请参考以下文章

多级分页操作系统

64位的linux系统下,进程的地址空间是多大?(32位是4g,1g内核,3g用户)

计算机支持的最大内存与CPU之间的关系

实模式与保护模式

电脑的物理地址是MAC地址吗,为啥

内存单元和 C++ 指针