精华 | |
金钱 | BA |
威望 | 点 |
贡献值 | 点 |
爱心 | 点 |
经验 | 点 |
注册时间 | 2009-4-5 |
最后登录 | 1970-1-1 |
在线时间 | 小时 |
| |
| |
| |
|
立即注册,加入爱黑武论坛的大家庭!爱黑武,爱上搞机生活!
您需要 登录 才可以下载或查看,没有账号?注册
x
看了下论坛好像没有专门解释这个名词的帖子 有些人也是一知半解我也是一知半解 [s:65]
考过二级学的c语言不过没看出有啥用...
好了正文:
内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。
举例来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内存里储存的文件释放到原来的安装目录里了。
使用虚拟内存存在这样的问题,那就是读写硬盘的速度大大慢于读写实际RAM的速度。这就是当NT系统在没有足够的内存时程序运行慢的原因。 虚拟内存是文件数据交叉链接的活动文件。是WINDOWS目录下的一个\"WIN386.SWP\"文件,这个文件会不断地扩大和自动缩小。 就速度方面而言,CPU的L1和L2缓存速度最快,内存次之,硬盘再次之。但是虚拟内存使用的是硬盘的空间,为什么我们要使用速度最慢的硬盘来做为虚拟内存呢?因为电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致我们只有可怜的256M/512M内存消耗殆尽。而硬盘空间动辄几十G上百G,为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用。
假设计算机物理内存是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里面的预读文件很多,那么你每次运行一个程序的时候,系统都要花大量的时间去搜索这个程序有没有预读文件,这样有可能导致程序启动很慢,所以预读文件很多的时候,那么就去删除这些预读文件吧 |
|