1.虚拟内存:电脑的物理内存不够用的时候,会从硬盘上分出一段空间,以进行数据的交换,充当临时内存的作用。虚拟地址空间也是一样,并不是物理内存上的空间,是磁盘上的空间。
2.通常,32位系统的虚拟地址空间是4G(2^32),64位系统的虚拟地址空间是(2^64)。一般地,我们以4G虚拟地址空间来做分析。4G为理论值,即一个进程最大占用4G的虚拟地址空间,而普遍来说进程实际占用的虚拟地址空间远小于4G。
3.程序运行之后,会创建虚拟地址空间,CPU中的MMU(内存管理单元)会将虚拟地址空间中的数据映射到物理内存上,并在物理内存上做数据的处理。所以,程序运行之后的大部分运算是在物理内存上进行的。
4.MMU(内存管理单元)映射机制的作用:例如,当虚拟地址空间中的堆空间申请了20M的内存,而物理内存上没有连续的20M的空间,MMU通过映射机制,就会把几块不连续的区域连在一起。