64位虚拟地址覆盖18446744073709551616字节。如果页面大小为4KB,我们需要4503599627370496个页表条目,每个条目为8个字节。
所以我们将:(4503599627370496 * 8)= 36028797018963968字节。
并且每个进程都有自己的页表。这对于页表来说太大了。我想知道系统如何处理这个问题?
答案 0 :(得分:0)
他们没有。大多数当前系统实际上不允许进程在接近该内存量的任何地方使用。通常,任何进程都可以使用64TB的内存最大限制。当然,在任何实际情况下,在使用那么多内存之前,任何东西都会发生非常糟糕的事情。
此外,没有必要保留尚未被进程引用的地址空间部分的页面条目,因此即使您希望允许进程访问所有内存地址,您也没有填写页面条目,直到实际访问该内存。