找回密码
 注册帐号
查看: 520|回复: 0

[电脑其他] 虚拟内存运行原理及过程

[复制链接]
发表于 2010-3-10 09:39:08 | 显示全部楼层 |阅读模式
  可能大家都会知道虚拟内存就是当物理内存不足够的时候,把硬盘的一部分当作内存来使用。
  这样理解其实不够准确
  物理内存就是大家平时经常说的1G内存,512M内存
  首先要知道:打开任何一个程序,都是要占用物理内存的 ,当关闭这个程序的时候,系统也将会从物理内存中删除这个程序的信息
  接着分两方面理解虚拟内存
  --------------假设计算机物理内存是512M,系统都安装在C盘--------------------------------------
  (一)当物理内存足够的时候
  假设,我们运行的程序占用了215M,此时物理内存绝对够用了,但是不要以为此时系统没有用虚拟内存技术,系统照样用了虚拟内存技术,当我们打开QQ的时候,系统就为QQ这个程序指定了一个虚拟空间,只是此时这个虚拟空间里面没有信息而已
  (二)当物理内存不足的时候
  假设计算机运行”迅雷”和”IE浏览器”这两个个软件的时候物理内存已经达到512M,我们启动QQ,如果没有虚拟内存技术,我们此时根本不能启动QQ,因为QQ不能在内存中写入相关信息,不过现在有了虚拟内存技术,此时系统将会释放一部分物理内存给QQ用,假设释放的是迅雷所占用的物理内存,那么迅雷所占用的物理内存信息将会保存到硬盘上的一个pagefile.sys的文件中
  当我们想再运行迅雷的时候,此时系统会从pagefile.sys查找相应的迅雷信息,同时把这些信息重新载入到物理内存里面,并且把QQ的信息释放到pagefiles.sys里面
  这样一个循环交换过程就是虚拟内存技术,为什么叫它虚拟呢,因为系统把文件释放到了硬盘上,而这个硬盘可不是内存,只是临时的保存内存信息的地方
  一句话,虚拟内存就是用如硬盘u盘等不是内存的介质来存储内存的信息
  Window xp系统里面的c:/windows/prefetch这个文件夹里面的文件是虚拟内存技术的扩展,这些prefetch(预读)文件可以提升程序的运行速度
  当我们运行程序时候,系统会依据内存记录这个程序经常用到的文件,并且把这个程序读取信息记录下来,同时在c:/windows/prefech下创建一个后缀是.pf的文件,并且把读取的信息保存到这.pf文件夹里面,
  假设我们运行已经被记录photoshop这个程序,那么你双击桌面上的photoshop的时候,系统会先从c:/windows/prefetch中查找这个photoshop的相关记录,而不是继续运行photoshop,
  系统根据以前记录photoshop用到的相关文件载入到内存中,载入好后,photoshop才可以继续运行,这样运行photoshop的速度就会提升了,大家可能看着要先执行.pf文件.再执行ps程序,这样速度还会快么?其实这个处理速度是很快的,如果没有预读文件,打开photoshop的速度会很慢的
  C:/windows/prefetch里面还有一个Layout.ini这个文件,这个文件的作用就是排列文件载入的次序,
  如果c:/windows/prefetch里面的预读文件很多,那么你每次运行一个程序的时候,系统都要花大量的时间去搜索这个程序有没有预读文件,这样有可能导致程序启动很慢,所以预读文件很多的时候,那么就去删除这些预读文件吧。
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

QQ|Archiver|手机版|小黑屋|依人网络官方网站 ( 陕ICP备19025998号-1 )

GMT+8, 2024-5-20 05:34 , Processed in 0.049776 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表