页状态
进程的虚拟地址空间的页面可能处于以下状态之一。
状态 | 描述 |
---|---|
Free | 页面既不提交也不保留。 进程无法访问该页面。 它可用于保留、提交或同时保留和提交。 尝试从免费页面读取或写入会导致访问冲突异常。 进程可以使用 VirtualFree 或 VirtualFreeEx 函数释放其地址空间的保留页或提交页,并将它们返回到可用状态。 |
预留 | 该页面已保留供将来使用。 地址范围不能由其他分配函数使用。 该页面不可访问,并且没有与之关联的物理存储。 可以提交它。 进程可以使用 VirtualAlloc 或 VirtualAllocEx 函数来保留其地址空间的页面,然后提交保留页。 它可以使用 VirtualFree 或 VirtualFreeEx 取消提交提交的页面并将其返回到保留状态。 |
已提交 | 内存费用已从磁盘上的 RAM 和分页文件的总体大小分配。 该页是可访问的,访问由 内存保护常量之一控制。 仅在第一次尝试读取或写入该页时,系统才会初始化每个提交的页面并将其加载到物理内存中。 当进程终止时,系统会释放已提交页面的存储。 进程可以使用 VirtualAlloc 或 VirtualAllocEx 从保留区域提交物理页。 它们还可以同时保留和提交页面。 GlobalAlloc 和 LocalAlloc 函数分配具有读/写访问权限的已提交页面。 |