2014-10-17 381 views
1

在这张图中,虚拟地址空间大于物理地址空间。它有可能是相反的吗?这将如何工作,因为如果虚拟地址空间更小,那么虚拟地址空间如何有足够空间引用物理地址空间中的所有内容?虚拟地址空间大小vs物理地址空间大小

+0

这听起来像http://en.wikipedia.org/wiki/Physical_Address_Extension和其他较早的系统 – 2014-10-17 12:10:33

+0

这里可能是顶级的。但请注意,如果在该图上的*箭头*数量少得多 - 比如说只有一个 - 您可以将左侧的地址空间缩小到更小的尺寸 - 并且所有这些都会导致右侧的页面更多粉。为了解决所有的物理内存问题,你所要做的就是改变一个箭头指向的地方。 – 2014-10-17 12:12:23

回答

1

如何将这项工作,因为虚拟地址空间会如何有足够的空间在物理地址空间来引用一切,如果它的体积更小?

它没有足够的空间,这根本不成问题。为什么每个虚拟地址空间需要覆盖全部物理内存?事实上,在大多数电脑上几乎从未发生过。虚拟内存的动机之一就是分离每个进程的内存,这样他们就不会踩到彼此的脚趾。

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

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

+0

那么,虚拟空间多大于或小于物理空间的后果呢?这仅仅是你可以拥有多少参考资料?还是有更多的参考资料? – Ogen 2014-10-17 12:23:37

+1

@Clay什么后果?就进程而言,它有X字节的内存,就是这样。就操作系统而言,没有什么变化。那么,一些实现细节(如页表的布局或MMU硬件的访问方式)可能会发生变化,但是没有什么大的概念性转变。这只是更多的物理记忆。 – delnan 2014-10-17 12:27:59

+0

这真的是很好的东西,你可以详细说一下如何改变页面表格吗? – Ogen 2014-10-17 12:30:49