1、虚拟内存简介
虚拟内存用硬盘空间作为内存来弥补计算机 RAM空间的缺乏,当实际 RAM满时在硬盘中创建虚拟内存。当物理内存用完后虚拟内存管理器将最近没有使用的低优先级的内存部分写到交换文件中,这个过程对应用是隐藏的,应用把虚拟内存和实际内存看做相同的内存。
虽然在运行速度上硬盘不如内存,但在容量上内存无法与硬盘相提并论。当运行一个程序需要大量数据和占用大量内存时内存就会被“塞满”,并将那些暂时不用的数据放到硬盘中。而这些数据所占的空间就是虚拟内存,这也是pagefile.sys的大小会经常变化的原因。
虚拟内存按虚拟层基于对内存的需求划分物理内存,建立虚拟层所需内存地址与物理机内存地址的映射关系。从而保证虚拟层的内存访问在虚拟内存和物理机内存的连续且一致,映射关系的技术实现是内存虚拟化的核心。
对于Intel公司的IA-32处理器(包括386和奔腾等)而言,用户应用程序(进程)访问内存时的内存地址是虚拟的,CPU会将其转换为实际的物理内存地址。物理内存不够时操作系统会将各个进程中一部分暂时不用的内存换出到页面文件(交换文件)中,并将需要访问内存的程序的内容从页面文件中换入到物理内存。
2、内存虚拟化简介
内存虚拟化把物理内存交给虚拟机管理程序统一管理,通常采用分块将其包装成多个虚拟的物理内存分配给若干台虚拟机使用。从而使每台虚拟机拥有各自独