在 64 位处理器上需要虚拟内存

The need of virtual memory on 64 bit processors

64位微处理器对虚拟内存的需求是什么?据我所知,它可以寻址大约 16exabyte 内存。那么为什么我们还需要分页。 提前致谢

除了提供虚拟内存外,分页还用于控制内存保护,提供不同应用程序之间以及应用程序与操作系统之间的隔离。分页还允许不同的应用程序使用相同的线性地址访问不同的内存位置。

将来我们可能会看到分页消失。另一个问题是我们的系统具有 8GB 的​​物理内存和 64 位处理器。一旦需要超过 8GB 的​​内存,就不得不求助于分页。不久之后,我们就会拥有拥有 TB 内存的计算机系统,并且不需要分页。

那样的话,我们就需要新的操作系统,甚至新的计算机系统来利用这么大的内存。

内存分页器还可以做其他非常有用的事情,例如将文件映射到内存并仅分页磁盘中实际使用的块,使用写时复制将相同数据映射到多个进程,只给每个程序实际使用的物理 RAM,实现共享内存、内存映射 I/O 和虚拟化。

拥有虚拟内存的主要原因是能够处理比系统拥有的物理内存更多的数据,但是无论如何都需要大部分底层基础设施(分页算法除外),并且有硬件支持。