虚拟内存

虚拟内存,接下来就让我们来看一下体现内存和磁盘亲密关系的第二个示例,即虚拟内存(virtual memory)。虚拟内存是指把磁盘的一部分作为假想的内存来使用。这与磁盘缓存是假想的磁盘(实际上是内存)相对,虚拟内存是假想的内存(实际上是磁盘)。

通过借助虚拟内存,在内存不足时也可以运行程序。例如,在只剩下5MB内存空间的情况下也能运行10MB大小的程序。不过,就如本章开头所讲述的那样,CPU只能执行加载到内存中的程序。虚拟内存虽说是把磁盘作为内存的一部分来使用,但实际上正在运行的程序部分,在这个时间点上是必须存在在内存中的。也就是说,为了实现虚拟内存,就必须把实际内存(也可称为物理内存)的内容,和磁盘上的虚拟内存的内容进行部分置换(swap),并同时运行程序。

刚才已经说过,Windows提供了虚拟内存机制作为操作系统。在当前的Windows中,虚拟内存依然发挥着很大的作用。虚拟内存的方法有分页式和分段式两种。Windows采用的是分页式。该方式是指,在不考虑程序构造的情况下,把运行的程序按照一定大小的页(page)进行分割,并以页为单位在内存和磁盘间进行置换。在分页式中,我们把磁盘的内容读出到内存称为Page In,把内存的内容写入磁盘称为Page Out。一般情况下,Windows计算机的页的大小是4KB。也就是说,把大程序用4KB的页来进行切分,并以页为单位放入磁盘(虚拟内存)或内存中(图5-3)。

虚拟内存
图5-3 分页式虚拟内存的机制

为了实现虚拟内存功能,Windows在磁盘上提供了虚拟内存用的文件(page file,页文件)。该文件由Windows自动做成和管理。文件的大小也就是虚拟内存的大小,通常是实际内存的相同程度至两倍程度。通过Windows的控制面板,可以查看或变更当前虚拟内存的设定。

下面就让我们来看一下虚拟内存的设定。作者自己的计算机是1GB的内存。当前的页文件的大小是1024MB≒1GB(图5-4)。

虚拟内存
图5-4 查看虚拟内存的设定

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!