Memory 虚拟地址空间大小与物理地址空间大小

Memory 虚拟地址空间大小与物理地址空间大小,memory,memory-management,Memory,Memory Management,在此图中,虚拟地址空间大于物理地址空间。有可能是另一种情况吗?如果虚拟地址空间较小,虚拟地址空间如何有足够的空间引用物理地址空间中的所有内容 如果虚拟地址空间较小,虚拟地址空间如何有足够的空间引用物理地址空间中的所有内容 它没有足够的空间,这根本不是问题。为什么每个虚拟地址空间需要覆盖所有物理内存?事实上,这在大多数计算机上几乎从未发生过。虚拟内存的部分动机是隔离每个进程的内存,这样它们就不会互相攻击 即使在图片中,虚拟地址空间也不会引用物理地址空间中的所有内容。红色页面不属于进程,这意味着它

在此图中,虚拟地址空间大于物理地址空间。有可能是另一种情况吗?如果虚拟地址空间较小,虚拟地址空间如何有足够的空间引用物理地址空间中的所有内容

如果虚拟地址空间较小,虚拟地址空间如何有足够的空间引用物理地址空间中的所有内容

它没有足够的空间,这根本不是问题。为什么每个虚拟地址空间需要覆盖所有物理内存?事实上,这在大多数计算机上几乎从未发生过。虚拟内存的部分动机是隔离每个进程的内存,这样它们就不会互相攻击

即使在图片中,虚拟地址空间也不会引用物理地址空间中的所有内容。红色页面不属于进程,这意味着它们不会出现在虚拟地址空间中


使用超过4 GiB物理内存的32位计算机就是一个例子。每个虚拟地址空间最多为4 GiB,即使可能有8 GiB或更多的物理RAM在使用。

这听起来像和其他早期系统一样,可能在这里超出了顶部。但是请注意,如果图表上的箭头数量少得多,比如说,只有一个箭头,则可以将左侧的地址空间缩小到更小的大小,而这样做的结果是右侧的页面更多为粉红色。为了解决所有的物理内存,你所要做的就是改变一个箭头指向的位置。那么虚拟空间大于或小于物理空间的后果是什么呢。这仅仅是你可以拥有多少参考资料,还是还有更多的参考资料?@Clay有什么影响?就进程而言,它有X字节的内存,仅此而已。就操作系统而言,变化不大。嗯,一些实现细节(如页面表的布局或MMU硬件的访问方式)可能会改变,但概念上没有大的改变。这只是需要分配更多的物理内存。这真是个好东西,你能详细说明一下页表可能如何变化吗?@Clay With PAE物理地址(必然)大于32位。因此,至少每个记录的“物理地址”部分需要放大。我对PAE前后的页表布局不太了解,所以我无法详细介绍。你可以从阅读PAE维基百科文章的相关章节开始。