2Xen虚拟化技术本节中将以主流的Xen体系架构为例,说明虚拟化系统的一般技术架构和工作原理
1.Xen体系结构(XenHypervisor)XenHypervisor(即Xen的VMM)位于操作系统和硬件之间,负责为上层运行的操作系统内核提供虚拟化的硬件资源,负责管理和分配这些资源,并确保上层虚拟机(称为域)之间的相互隔离
Xen采用混合模式,因而设定了一个特权域用以辅助Xen管理其他的域,并提供虚拟的资源服务,该特权域称为Domain0,而其余的域则称为DomainU
Xen的体系架构如图7-25所示
Xen向Domain提供了一个抽象层,其中包含了管理和虚拟硬件的API
Dom0内部包含了真实的设备驱动(原生设备驱动),可直接访问物理硬件,负责与Xen提供的管理API交互,并通过用户模式下的管理工具来管理Xen的虚拟机环境
(点击查看大图)图7-25Xen体系架构图Xen向Domain提供了VCPU、虚拟MMU(MemoryManagementUnit)等基本的虚拟硬件和基本机制(事件通道),并向Domain提供了虚拟域管理API(控制接口)
对Domain设备的访问,Xen也提供了相应的硬件接口(安全硬件接口),以保证设备访问得以安全进行
在Xen体系架构中涉及到的基本概念包括:控制接口:仅能被Dom0使用,用于帮助Dom0控制和管理其他的Domain
控制接口提供的具体功能包括Domain的创建、销毁、暂停、恢复及迁移,对其他Domain的CPU调度、内存分配及设备访问等
安全硬件接口:提供除虚拟CPU、MMU之外的所有硬件虚拟工作,包括DMA/IO、驱动程序、虚拟的PCI地址配置、虚拟硬件中断等
该接口只能被具有原生设备驱动的Domain使用,而向其他Domain则仅通过设备通道提供虚拟硬件服务
VCPU:Xen为每个Domain建立了VCPU结构,用以