基于文件和基于页文件的部分

所有内存区域均由磁盘文件作为存储备份,这些文件可以临时或永久地包含需要共享的数据。

创建节时,可以指定一个特定的数据文件以存储该节。 此类节称为 文件映射 节。

如果不标识支持文件,则分区由系统的分页文件提供支持,该节称为 页面文件支持的 分区。 文件映射的分区中的数据可以永久写入磁盘。 页文件支持的分区中的数据永远不会永久写入磁盘。

文件映射部分反映磁盘上实际文件的内容;换句话说,它是内存映射文件。 任何对由文件映射的节中的内存位置的访问,都对应于对关联文件中位置的访问。

如果进程将视图映射为只读视图,则从视图中读取的任何数据都以透明方式从文件读取。 同样,如果进程将视图映射为读/写,则从视图读取或写入视图的任何数据都以透明方式读取或写入文件。 无论哪种情况,视图的虚拟内存都不会在页面文件中使用任何空间。

文件映射段也可以映射为写时复制。 在这种情况下,文件中的数据被读取到视图中,但写入视图的数据不会被保存到文件中;而是当最终视图被取消映射并且节的最后一个句柄关闭后即被丢弃。

由页面文件支持的节区由页面文件而不是磁盘上的任何显式文件提供支持。 在节对象被销毁后,任何对页文件支持的节所做的更改将被自动放弃。 页文件支持的分区可用作两个进程之间的共享内存段。

任何段(无论是否文件支持)都可以在两个进程之间共享。 相同的物理内存地址范围映射到每个进程中的虚拟内存地址范围(尽管不一定映射到同一虚拟地址)。