如题,在看 windows核心编程的 < 13.5物理存储器与页文件 > 节时,看不懂什么  关系?  "磁盘上的文件通常称为页文件,它包含了可供所
有进程使用的虚拟内存。"主要是 这一句, 我的理解是 页文件就是说的我们设置 我的电脑-属性 里的那个虚拟内存在每个磁盘上的值, 不知道我理解的对不对?一句话 , 页文件 虚拟内存 这两个东西是一样的吗? 指的同一东西?书上原段:
13.5 物理存储器与页文件
在较老的操作系统中,物理存储器被视为
计算机拥有的R A M的容量。换句话说,如果计算机拥有1 6 M B的R A M,那么加载和运行的应用程序最多可以使用1 6 M B的R A M。\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\今天的操作
系统能够使得磁盘空间看上去就像内存一样。磁盘上的文件通常称为页文件,它包含了可供所
有进程使用的虚拟内存。
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\当然,若要使虚拟内存能够运行,需要得到C P U本身的大量帮助。当一个线程试图访问一
个字节的内存时, C P U必须知道这个字节是在R A M中还是在磁盘上。
从应用程序的角度来看,页文件透明地增加了应用程序能够使用的R A M(即内存)的数
量。如果计算机拥有6 4 M B的R A M,同时在硬盘上有一个100 MB的页文件,那么运行的应用
程序就认为计算机总共拥有1 6 4 M B的R A M。
当然,实际上并不拥有1 6 4 M B的R A M。相反,操作系统与C P U相协调,共同将R A M的各
个部分保存到页文件中,当运行的应用程序需要时,再将页文件的各个部分重新加载到R A M。
由于页文件增加了应用程序可以使用的R A M的容量,因此页文件的使用是视情况而定的。如
果没有页文件,那么系统就认为只有较少的R A M可供应用程序使用。但是,我们鼓励用户使
用页文件,这样他们就能够运行更多的应用程序,并且这些应用程序能够对更大的数据集进行
操作。最好将物理存储器视为存储在磁盘驱动器(通常是硬盘驱动器)上的页文件中的数据。
这样,当一个应用程序通过调用Vi r t u a l A l l o c函数,将物理存储器提交给地址空间的一个区域时,
地址空间实际上是从硬盘上的一个文件中进行分配的。系统的页文件的大小是确定有多少物理
存储器可供应用程序使用时应该考虑的最重要的因素, R A M的容量则影响非常小。
谢谢大家`

解决方案 »

  1.   

    虚拟内存可以在物理内存中分配,受物理内存大小limit, 也可以在磁盘上分配虚拟内存.
      

  2.   

    所谓虚拟内存就是应用程序能看得到的内存,并不是真正的内存(所以叫虚拟),它的大小是操作系统定的,不受物理内存大小限制。比如在32位系统上,每个应用程序都能得到4G的内存。当然物理内存不可能这么大,不可能把所以虚拟内存里面的东西都放在物理内存里面,有些暂时不用的东西就存到硬盘上,Windows里面通常是存到一个叫pagefile.sys的文件里面,这大概就是你说的“页文件”。如果需要,再从pagefile.sys里面读到物理内存里面,这个过程就叫paging. 对于每个应用程序,它都感觉好像是自己在用整个4G的空间(虚拟空间)。