索阅100例 首 页| 资 讯| 下 载| 论 坛| 博 客| Webinar| 高 校| 专 刊| 会展| EETV| 百科| 问答| 电路图| 工程师手册| Datasheet

EEPW首页>百科> 虚拟内存

虚拟内存


贡献者:ysjab浏览:1161次 创建时间:2009-06-20

什么是虚拟内存
  虚拟内存是用于当做内存来弥补计算机RAM空间缺乏的硬盘空间。当实际RAM满时(实际上,在RAM满之前),虚拟内存就在硬盘上创建了。当物理内存用完后,虚拟内存管理器选择最近没有用过的,低优先级的内存部分写到交换文件上。这个过程对应用是隐藏的,应用把虚拟内存和实际内存看作是一样的。
  技术细节:对于英特尔 IA-32 处理器(包括 386、奔腾等)而言,用户应用程序(进程)访问内存时其内存地址是虚拟的,CPU 会将它转换为实际的物理内存地址。物理内存不够时,操作系统系统会将各个进程中一部分暂时不用的内存换出到页面文件(交换文件)中,并将需要访问内存的程序的内容从页面文件中换入到物理内存。
虚拟内存的作用
  不知大家有没有发现,在Windows2000(XP)目录下有一个名为pagefile.sys的系统文件(Windows98下为Win386.swp),它的大小经常自己发生变动,小的时候可能只有几十兆,大的时候则有数百兆,这种毫无规律的变化实在让很多人摸不着头脑。其实,pagefile.sys是Windows下的一个虚拟内存,它的作用与物理内存基本相似,但它是作为物理内存的“后备力量”而存在的,也就是说,只有在物理内存已经不够使用的时候,它才会发挥作用。
虚拟内存的产生
  我们都知道,虽然在运行速度上硬盘不如内存,但在容量上内存是无法与硬盘相提并论的。当运行一个程序需要大量数据、占用大量内存时,内存就会被“塞满”,并将那些暂时不用的数据放到硬盘中,而这些数据所占的空间就是虚拟内存。现在我们也明白为什么pagefile.sys的大小会经常变化了。
  内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序分配的内存的总量超过了内存大小,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。
  举个例子来说,压缩程序在压缩时有时候需要读取文件的很大一部分并保存在内存中作反复的搜索。假设内存大小是128MB,而要压缩的文件有 200MB,且压缩软件需要保存在内存中的大小也是 200MB,那么这时操作系统就要权衡压缩程序和系统中的其他程序,把多出来的那一部分数据放进交换文件。下面,就让我们一起来看看如何对虚拟内存进行设置吧。


如果您认为本词条还有待完善,需要补充新内容或修改错误内容, 请编辑词条 查看历史版本

开放分类

参考资料

贡献者


本词条在以下词条中被提及:

关于本词条的评论共:(0条)
匿名不能发帖!请先 [ 登陆]