首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >“虚拟内存”和“交换空间”有什么区别?

“虚拟内存”和“交换空间”有什么区别?
EN

Stack Overflow用户
提问于 2011-02-11 22:56:21
回答 5查看 98.4K关注 0票数 87

谁能告诉我虚拟内存交换空间的区别是什么

为什么我们说对于32位机器,最大可访问虚拟内存仅为4 GB?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-02-11 23:06:00

superuser上有一个很好的虚拟内存的移植。

简单地说,虚拟内存是正在运行的进程可以使用的RAM和磁盘空间的组合。

交换空间是硬盘上的虚拟内存部分,在RAM已满时使用。

至于为什么32位CPU只能使用4 4gb的虚拟内存,here已经很好地解决了这个问题

根据定义,32位处理器使用32位来引用内存的每个字节的位置。2^32 =42亿,这意味着32位长的内存地址只能引用42亿个唯一位置(即4 GB)。

票数 115
EN

Stack Overflow用户

发布于 2011-02-12 19:17:13

关于虚拟内存这个术语有些混淆,它实际上指的是以下两个截然不同的概念

分页使用磁盘分页来扩展计算机的物理内存量-正确的术语实际上是

  1. ,这是各种操作系统/CPU使用的抽象概念,用于创建在单独的连续地址空间中运行的每个进程的假象。

交换空间,即OTOH,是不使用时用于存储额外RAM页的磁盘部分的名称。

一个重要的实现是,由于后者的硬件和操作系统支持,前者显然是可能的。

为了更好地理解这一切,您应该考虑CPU和操作系统如何支持“虚拟内存”(如定义2所示)。

假设您有一个32位指针(64位指针类似,但使用的机制略有不同)。一旦启用了"Virtual Memory“,处理器就认为这个指针分为三个部分。

  • 最高的10位是页面目录条目
  • 下面的10位是页面表条目
  • 最后12位组成页面偏移量

现在,当中央处理器试图访问指针的内容时,它首先查询页面目录表-一个由1024个条目组成的表(在X86体系结构中,其位置由CR3寄存器指向)。10位页面目录条目是此表中的索引,它指向页表的物理位置。这又是另一个包含1024个条目的表,每个条目都是物理内存中的指针,以及几个重要的控制位。(我们将在稍后讨论这些内容)。一旦找到一页,最后12位用于查找该页内的地址。

还有许多更多的细节(TLB,大页面,PAE,选择器,页面保护),但上面的简短解释抓住了事情的要点。

使用这种转换机制,OS可以为每个进程使用一组不同的物理页面,从而给每个进程一种拥有所有内存的错觉(因为每个进程都有自己的页面目录)

在此虚拟内存之上,操作系统还可以添加分页的概念。前面讨论的控制位之一允许指定条目是否“存在”。如果它不存在,则试图访问该条目将导致页面错误异常。OS可以捕获该异常并相应地采取行动。因此,支持交换/分页的OS可以决定从交换空间加载页面,修复转换表,然后再次发出内存访问。

这就是这两个术语结合在一起的地方,支持虚拟内存和分页的操作系统可以通过分页(交换)页面进出交换区域,给进程带来内存比实际存在的更多的错觉。

关于你的最后一个问题(为什么说32位CPU被限制为4 4GB虚拟内存)。这指的是定义2的“虚拟内存”,并且是指针大小的直接结果。如果CPU只能使用32位指针,那么您只有32位来表示不同的地址,这将为您提供2^32 =4 4GB的可寻址内存。

希望这能让事情变得更清楚一些。

票数 64
EN

Stack Overflow用户

发布于 2014-06-06 10:50:50

将交换空间的概念等同于虚拟内存是非常容易误导的。VM是一个比交换空间更一般的概念。其中,VM允许进程在执行期间引用虚拟地址,这些地址在硬件和页表的支持下被转换为物理地址。因此,进程不关心系统有多少物理内存,也不关心指令或数据在物理内存层次结构中的实际驻留位置。VM允许此映射。被引用的项目(指令或数据)可以驻留在L1、L2或RAM中,或者最终驻留在磁盘上,在这种情况下,它被加载到主存储器中。

交换空间这只是辅助内存上的一个地方,当页面处于非活动状态时,页面就存储在这里。如果没有足够的RAM,操作系统可能决定换出进程的页面,以便为其他进程页面腾出空间。处理器从不执行指令或直接从交换空间读取/写入数据。

请注意,在没有VM的系统中也可以有交换空间。也就是说,直接访问物理地址的进程仍然可以将部分物理地址放在磁盘上。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4970421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档