虚拟地址空间不是 RAM。这是一个地址空间。每个page
(页面的大小取决于系统)可以取消映射(页面无处可访问。它不存在),映射到文件(页面不可直接访问,其内容存储在磁盘上),映射到 RAM(这是您实际可以访问的页面)。
映射到 RAM 的页面可以是可交换的或固定的。固定页面永远不会被换出到磁盘。可交换页面与磁盘上的某个区域相关联,并且可以写入该区域以释放它们正在使用的 RAM。
映射到 RAM 的页面也可以是只读的、只写的、读写的。如果它们是可写的,它们可能是直接可写的或写时复制的。
多个页面(在同一地址空间内和跨不同地址空间)可以被相同地映射。这就是两个单独的进程如何访问内存中的相同数据(这可能发生在每个进程的不同地址)。
在现代操作系统中,每个进程都有自己的地址空间。在 32 位操作系统上,每个进程都有 4GiB 的地址空间。在 64 位操作系统上,32 位进程仍然只有 4GiB(4 GB 字节)的地址空间,但 64 位进程可能有更多。通常它们有 18 EiB(18 个 exabinary 字节,即 18,874,368 TiB)。
地址空间的大小完全独立于 RAM 内存的数量和实际分配的空间数量。您可以在具有 1 GB RAM 的机器上拥有 100 个进程,每个进程具有 18 EiB 的地址空间。事实上,自从典型的机器只有几兆字节或 RAM 以来,Windows 就一直为每个进程提供 4GiB 的地址空间。