内存和虚拟内存

(一)内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。
(二)当系统运行时,先要将所需的指令和数据从外部存储器(如硬盘、软盘、光盘等)调入内存中,CPU再从内存中读取指令或数据进行运算,并将运算结果存入内存中,内存所起的作用就像一个“二传手”的作用。当运行一个程序需要大量数据、占用大量内存时,内存这个仓库就会被“塞满”,而在这个“仓库”中总有一部分暂时不用的数据占据着有限的空间,所以要将这部分“惰性”的数据“请”出去,以腾出地方给“活性”数据使用。这时就需要新建另一个后备“仓库”去存放“惰性”数据。由于硬盘的空间很大,所以微软Windows操作系统就将后备“仓库”的地址选在硬盘上,这个后备“仓库”就是虚拟内存。在默认情况下,虚拟内存是以名为Pagefile.sys的交换文件保存在硬盘的系统分区中。
(三)如果每个进程都可以独自占用4G的内存(当然包括虚拟内存),那么虚拟内存得设置多大啊?---------------------回答:这个要说下,所谓内存只是一个交换的空间,就比如一个桶,里面装水,再从桶里用水,桶越大,你用得就越顺畅。如果你一个进程把那个进程占完了,肯定其它进程就用不了了,但是,这个谁用多少内存,不是它一个进程说了算的,还有一个操作系统在管理,你占得多了,就把这多的内存转存到硬盘的虚拟内存中,当这个虚拟内存也占满了,那就只能释放一些内存了,当需要这个释放掉的内存数据时,就找不到了,只能再通过程序重新数据。。。这个就复杂了你只要晓得那个虚拟内存不是越大越好的,多了还是用不着,不然它有可能把什么数据都往硬盘里写,一些常用的数据也写到硬盘的话,系统就慢了。

猜你喜欢

转载自lixingreat.iteye.com/blog/1735433
今日推荐