64位页面表太大了?

时间:2014-08-15 11:13:17

标签: paging virtual-memory

64位虚拟地址覆盖18446744073709551616字节。如果页面大小为4KB,我们需要4503599627370496个页表条目,每个条目为8个字节。

所以我们将:(4503599627370496 * 8)= 36028797018963968字节。

并且每个进程都有自己的页表。这对于页表来说太大了。我想知道系统如何处理这个问题?

1 个答案:

答案 0 :(得分:0)

他们没有。大多数当前系统实际上不允许进程在接近该内存量的任何地方使用。通常,任何进程都可以使用64TB的内存最大限制。当然,在任何实际情况下,在使用那么多内存之前,任何东西都会发生非常糟糕的事情。

此外,没有必要保留尚未被进程引用的地址空间部分的页面条目,因此即使您希望允许进程访问所有内存地址,您也没有填写页面条目,直到实际访问该内存。