1、物理内存(physical storage):内存条 + 页文件
2、地址空间的state
(1)空闲(MEM_FREE)
(2)保留(MEM_RESERVE):在地址空间上划出一块地址,仅仅是得到了这块地址的编号,物理上并无实质占用这块内存地址
(1)MEM_IMAGE
(2)MEM_MAPED
2、地址空间的state
(1)空闲(MEM_FREE)
(2)保留(MEM_RESERVE):在地址空间上划出一块地址,仅仅是得到了这块地址的编号,物理上并无实质占用这块内存地址
(3)提交(MEM_COMMIT):把地址空间上的地址编号映射到物理内存上,物理上实质是开始占用这块内存地址。
注意:这里说的物理内存同样是内存条或者页文件,而至于页文件与内存条间的置换则非virtual**函数考虑的了,那是操作系统完成的.
另,所谓保留、提交都是指占用了进程地址空间的一段地址编号,而不是分配内存。
3、物理内存的Type(1)MEM_IMAGE
(2)MEM_MAPED
(3)MEM_PRIVATE
4、页面池(paged pool)、非页面池(nonpaged pool)
可以这样理解,它们指的是地址空间中划出的一块区域,就好比它们占用了这块区域的编址。页面池就是说这块编址的内容允许与内存条进行页面置换,而非页面池就是说这块编址的内容是常驻在内存条中的,不允许置换出来。
5、自己对虚拟内存的定义
"内存“总是被动的,它是被cpu用的,cpu按照”页“的概念组织化内存,当程序很大的时候,无法全部加载到内存条中,于是,操作系统担负起了解决这个问题的责任,它先加载一部分到内存条,当cpu访问的数据不在内存条时,就从磁盘(虚拟内存页文件或普通文件(当被加载着时被称作内存映射文件))中得到数据,加载到内存条,同时把一些内存条中不忙的页拉出来放到虚拟内存页文件中。所以说,”虚拟内存“本质上讲是”4GB(32位)进程地址空间“;而我们通常也把系统盘中的虚拟内存页文件简称为虚拟内存,实际上,前面说的内存映射文件也可以称作虚拟内存。