虚拟机是一台由软件实现的机器,但能像真实的物理机一样运行各种程序。根据虚拟机实现的层次不同,可将其分为三类:应用层虚拟机、操作系统层虚拟机和硬件层虚拟机。应用层虚拟机是用户程序和操作系统之间的一层软件,为上层应用程序提供一个对底层软件和硬件资源进行抽象的跨平台可编程环境。Java虚拟机(Java Virtual Machine,JVM)是目前使用较为广泛的应用层虚拟机。Java程序被编译成Java字节码(Java Bytes Code),由JVM进行解释执行。类似的应用层虚拟机还有微软.NET架构下的CLR(Common Language Runtime)运行环境。操作系统层虚拟机可看作系统级的隔间(Compartment),其中包含独立的文件系统、进程、用户账户和根账户等。Jail是FreeBSD上的操作系统层虚拟机。该虚拟机允许系统管理员将FreeBSD[9]系统分成若干独立的微型系统,称之为Jail。每个Jail都拥有独立的系统资源以及相关的配置,从而用户可在不同的Jail中运行不同配置的应用程序。OpenVZ[10]是基于Linux的操作系统层虚拟机,它允许在一台物理机上同时运行多个系统实例,并且每个实例可单独管理系统的资源。与Jail和OpenVZ技术类似,Solaris操作系统提供了区域(Zone)技术[2,3],以支持操作系统层虚拟化。硬件层虚拟机允许不同的客户虚拟机共享底层硬件资源,并且不同的客户虚拟机能运行不同的操作系统。此外,硬件层虚拟机技术通过虚拟机监控器(Virtual Machine Monitor,VMM)管理上层操作系统对底层硬件资源的访问。VMware[11]和Xen[12]是目前业界比较流行的硬件层虚拟机。应用层虚拟机和操作系统层虚拟机都无法抵御针对操作系统内核的攻击,因此硬件层虚拟机技术成为当前研究的重点。(https://www.xing528.com)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
