Xen 是剑桥大学计算机实验室开发的一个开放源代码的虚拟化软件,功能与 VMware 类似。

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