VMM分类

xiaoxiao2021-02-27  154

VMM可以分为:

完全虚拟化(基于硬件)、宿主虚拟化、混合虚拟化

 

(1).完全虚拟化

VMM虚拟的是现实存在的平台,在客户及操作系统看来,虚拟的平台和现实的平台是一样的,客户机操作系统察觉不到市运行在一个虚拟平台上X86架构的完全虚拟化,经历了两个阶段:

软件辅助的完全虚拟化

Ringcompression

   VMM运行在Ring0,客户及操作系统运行在V1.当客户机操作系统内核执行特权指令,VMM截获并进行虚拟化.

BinaryCompression

   二进制压缩用来处理一些不友好的指令,通过扫描并修改客户机的二进制代码,将难以虚拟化的指令转化为支持虚拟化的指令.

硬件辅助的完全虚拟化

   硬件本身加入足够的虚拟化功能.

     IntelVT-x技术是代表,在处理器上引入了一个新的执行模式用于运行虚拟机.当虚拟机执行在这个特殊模式中时,任何特权操作都会被处理器截获并报告给VMM.

类虚拟化

客户机操作系统知道其运行在虚拟平台上,并且会去主动适应.

类虚拟化是通过在源代码级别修改指令以避免虚拟化漏洞,即修改操作系统内核的代码(API),使得操作系统内核完全避免这些难以虚拟化的指令.

 

 

2.按VMM的实现结构 , VMM可以分为三类 : Hypervisor模式

在Hypervisor模式中,VMM首先是一个完备的操作系统,是为虚拟化而设计的,还具备虚拟化功能.

从物理资源上看,所有的物理资源都归VMM所有,VMM承担着管理物理资源的责任.

 其次,VMM需要向上提供虚拟机用于运行客户机操作系统,负责虚拟环境的创建和管理.

 

VmwareESXServer,就是基于Hypervisor架构.

 

KVM(Kernel-basedVirtual Machine),也是基于GPL授权的开源虚拟机软件, 2007.2被继承到了Linux2.6.20内核中,成为内核的一部分.

 目前项目发起人和维护人认为KVMHypervisor模型.

宿主模式

在宿主模型中,物理资源是由宿主机操作系统管理,宿主机操作系统是传统操作系统,本身不具备虚拟化功能,实际的操作系统由VMM来提供,VMM通常是宿主机操作系统独立的内核模块,通过调用宿主机操作系统的服务来获得资源,实现处理器,内存和I/O设备的虚拟化.

 

VMware Server采用宿主模型,宿主机操作系统可以是Windows或者Linux.

VMware  WorkstatioVMware 是面向桌面的主打产品,也是基于宿主模型,VMServer不同,VMwareWorkstation专门针对桌面应用做了优化,如为虚拟机分配USB设备等.

 

MicrosoftVirtualPC是面向桌面的虚拟化产品.

                       VirtualServer是面向服务器的入门级虚拟化产品,基于宿主模型.

 WindowsServer 2008是混合模型Hyper-V作为Hypervisor运行在最底层,Server 2008作为特权操作系统运行在Hyper-V之上.采用硬件虚拟化技术,必须运行在支持InterVT技术.

混合模型

混合模型是两种模式的汇合体.

VMM依然位于最底层,拥有所有的物理资源.

 VMM会让出大部分I/O设备的控制权,交由一个运行在特权虚拟机中的特权操作系统来控制

VMM的虚拟化功能也被分担,处理器和内存的虚拟化依然由VMM来完成,I/O的虚拟化则由VMM和特权操作系统共同合作完成.

 

 Xen是一款基于GPL授权的开源虚拟机软件,起源于英国剑桥大学,属于混合模型,基于Xen的虚拟化产品有Ctrix, Redhat, Novell.

转载请注明原文地址: https://www.6miu.com/read-14783.html

最新回复(0)