Memory 三级页面表格的大小

Memory 三级页面表格的大小,memory,paging,page-tables,Memory,Paging,Page Tables,我们有一个问题: 计算单个3级页表的最大和最小大小 对于页面大小为4kB的32位计算机。20的划分 表示此3级pge表中虚拟页面的位为:(7,7, 剩下的部分) 我知道最小大小应该是4k+4k+4k=12k,因为一个进程需要至少为自己分配一个帧。然而,我对如何计算最大值感到困惑。它可以很好地处理两级页表,因为我们可以将20位分为10和10,这可以很好地处理1024个条目*4个字节,每个字节是4k的一个很好的因子。但是有了2^7个整数,我们得到了一个奇怪的数字,有没有办法解决这个问题?谢谢。很遗憾

我们有一个问题:

计算单个3级页表的最大和最小大小 对于页面大小为4kB的32位计算机。20的划分 表示此3级pge表中虚拟页面的位为:(7,7, 剩下的部分)


我知道最小大小应该是4k+4k+4k=12k,因为一个进程需要至少为自己分配一个帧。然而,我对如何计算最大值感到困惑。它可以很好地处理两级页表,因为我们可以将20位分为10和10,这可以很好地处理1024个条目*4个字节,每个字节是4k的一个很好的因子。但是有了2^7个整数,我们得到了一个奇怪的数字,有没有办法解决这个问题?谢谢。

很遗憾,你的问题没有答案。这类问题是可怕的操作系统教科书中的典型问题

首先,您没有页面表条目的指示。是32位吗?64位?页面表格的每个级别的条目大小是否相同

一个进程实际上不可能有一个0字节的页表。将流程映射到executive时,需要至少有一个页面。然后,最小值将是3个页面表条目,无论其大小如何(可能大约为12字节)


最大值取决于硬件和操作系统如何划分地址空间。

很遗憾,问题没有具体说明。这就是问题提供的所有细节。我可以想象,给定一台32位的机器,我们的条目是32位的。除此之外,还必须暗示其他任何东西。这个问题是从哪里来的?