Xen是剑桥大学计算机实验室开发的一个开放源代码的虚拟化软件,功能与VMware类似。此外Xen是基于Linux内核的虚拟程序,使用一个叫hypervisor的软件层来调节操作系统对真实硬件的访问和控制,实现在一套物理硬件上安装运行多个虚拟操作系统。Xen同时支持完全虚拟化(Full-Virtualized)和半虚拟化(Para-Virtualized)两种运行模式。完全虚拟化提供底层物理系统的全部抽象化,虚拟系统不需要修改操作系统内核就可以直接运行在Xen上面,VMware是完全虚拟化技术的代表。完全虚拟化功能需要依赖于CPU指令集的支持,例如:IntelCPU的VT指令集,AMDCPU的SVM指令集。如果服务器CPU不支持虚拟化指令集,Xen只能以半虚拟化模式运行,在Xen上“Full-Virtualized”这个选项是灰色的,即功能不能启用。半虚拟化需要对运行在Xen上的操作系统内核进行修改,这些修改提高了操作系统与hypervisor间通讯的有效性和性能,所以半虚拟化的性能比全虚拟化更佳。只支持半虚拟化的Xen不支持安装运行无法修改系统内核的Windows系列操作系统,但支持安装运行经过修改的Linux系统。Xen启动运行后,第一个虚拟的操作系统Domain0,就是Xen本身。Domain0是其它虚拟主机的管理者和控制者,Domain0可以构建其它的更多的Domain,并管理虚拟设备Xen的应用范围:服务器整合:在虚拟机范围内,在一台物理主机上安装多个服务器,用于演示及故障隔绝;无硬件依赖:允许应用程序和操作系统对新硬件的移值测试;多操作系统配置:以开发和测试为目的,同时运行多个操作系统;内核开发:在虚拟机的沙盒中,做内核的测试和调试,无需为了测试而单独架设一***立的机器;集群运算:和单独的管理每个物理主机相比较,在VM级管理更加灵活,在负载均衡方面,更易于控制,和隔离;为客户操作系统提供硬件技术支持:可以开发新的操作系统,以得益于现存操作系统的广泛硬件支持,比如Linux;它还能执行管理任务,比如虚拟机的体眠、唤醒和迁移其它虚拟机。