Xen (pronounced ) is a free and open-source type-1 hypervisor, providing services that allow multiple computer operating systems to execute on the same computer hardware concurrently. It was originally developed by the University of Cambridge Computer Laboratory and is now being developed by the Linux Foundation with support from Intel, Citrix, Arm Ltd, Huawei, AWS, Alibaba Cloud, AMD, Bitdefender and EPAM Systems.

The Xen Project community develops and maintains Xen Project as free and open-source software, subject to the requirements of the GNU General Public License (GPL), version 2. Xen Project is currently available for the IA-32, x86-64 and ARM instruction sets.

Software architecture Xen Project runs in a more privileged CPU state than any other software on the machine, except for firmware.

Responsibilities of the hypervisor include memory management and CPU scheduling of all virtual machines ("domains"), and for launching the most privileged domain ("dom0") - the only virtual machine which by default has direct access to hardware. From the dom0 the hypervisor can be managed and unprivileged domains ("domU") can be launched.

The dom0 domain is typically a version of Linux or BSD. User domains may either be traditional operating systems, such as Microsoft Windows under which privileged instructions are provided by hardware virtualization instructions (if the host processor supports x86 virtualization, e.g., Intel VT-x and AMD-V), or paravirtualized operating systems whereby the operating system is aware that it is running inside a virtual machine, and so makes hypercalls directly, rather than issuing privileged instructions.

Xen Project boots from a bootloader such as GNU GRUB, and then usually loads a paravirtualized host operating system into the host domain (dom0).

History

Xen originated as a research project at the University of Cambridge led by Ian Pratt, a senior lecturer in the Computer Laboratory, and his PhD student Keir Fraser. According to Anil Madhavapeddy, an early contributor, Xen started as a bet on whether Fraser could make multiple Linux Kernels boot on the same hardware in a weekend. The first public release of Xen was made in 2003, with v1.0 following in 2004. Soon after, Pratt and Fraser along with other Cambridge alumni including Simon Crosby and founding CEO Nick Gault created XenSource Inc. to turn Xen into a competitive enterprise product.

To support embedded systems such as smartphone/ IoT with relatively scarce hardware computing resources, the Secure Xen ARM architecture on an ARM CPU was exhibited at Xen Summit on April 17, 2007, held in IBM TJ Watson. The first public release of Secure Xen ARM source code was made at Xen Summit on June 24, 2008 by Sang-bum Suh, a Cambridge alumnus, in Samsung Electronics.

On October 22, 2007, Citrix Systems completed its acquisition of XenSource, and the Xen Project moved to the xen.org domain. This move had started some time previously, and made public the existence of the Xen Project Advisory Board (Xen AB), which had members from Citrix, IBM, Intel, Hewlett-Packard, Novell, Red Hat, Sun Microsystems and Oracle. The Xen Advisory Board advises the Xen Project leader and is responsible for the Xen trademark, which Citrix has freely licensed to all vendors and projects that implement the Xen hypervisor. Citrix also used the Xen brand itself for some proprietary products unrelated to Xen, including XenApp and XenDesktop.

On April 15, 2013, it was announced that the Xen Project was moved under the auspices of the Linux Foundation as a Collaborative Project. The Linux Foundation launched a new trademark for "Xen Project" to differentiate the project from any commercial use of the older "Xen" trademark. A new community website was launched at xenproject.org as part of the transfer. Project members at the time of the announcement included: Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung, and Verizon. The Xen project itself is self-governing.

Since version 3.0 of the Linux kernel, Xen support for dom0 and domU exists in the mainline kernel.

Release history

Version Release date Notes 1.0 2.0 Live migration of PV guests. 3.0 Supports the Intel VT technology for HVM guests. Support for the Intel IA-64 architecture.

The releases up to 3.0.4 also added: Support for the AMD SVM virtualization extensions. Support for the PowerPC architecture. Graphical framebuffer support for paravirtualized guests. 3.1 Live migration for HVM guests, XenAPI 3.2 PCI passthrough and ACPI S3 standby mode for the host system. 3.3 Improvements for the PCI passthrough and the power management. Xen ARM hypervisor source code released for ARM CPU support 3.4 Contains a first version of the "Xen Client Initiative", shortly XCI. 4.0 Makes it possible to use a dom0 Linux kernel, which has been implemented by using PVOps. A Linux kernel of version 2.6.31 has been modified for this purpose, because the official Linux kernel actually does not support the usage as dom0 kernel (date July 2010). 4.1 Some of the improvements: Support for more than 255 processors, better stability. Linux kernel v2.6.37 and onward support usage as dom0 kernel. 4.2 XL became the default toolstack. Support for up to 4095 host processors and up to 512 guest processors. 4.3 Experimental ARM support. NUMA-aware scheduling. Support for Open vSwitch. 4.4 Solid libvirt support for libxl, new scalable event channel interface, hypervisor ABI for ARM declared stable, Nested Virtualization on Intel hardware. 4.5 With 43 major new features, 4.5 includes the most updates in the project's history. 4.6 Focused on improving code quality, security hardening, enablement of security appliances, and release cycle predictability. 4.7 Improved: security, live migrations, performances and workload. Hardware support (ARM and Intel Xeon).4.8.1April 12, 20174.9June 28, 2017Xen Project 4.9 Release Notes4.10December 12, 2017Xen Project 4.10 Release Notes4.11July 10, 2018Xen Project 4.11 Release Notes4.12April 2, 2019Xen Project 4.12 Release Notes4.13December 18, 2019Xen Project 4.13 Release Notes4.14July 24, 2020Xen Project 4.14 Release Notes4.15April 8, 2021Xen Project 4.15 Release Notes4.16December 2, 2021Xen Project 4.16 Release Notes4.17December 14, 2022Xen Project 4.17 Release Notes4.18November 23, 2023Xen Project 4.18 Release Notes4.19July 29, 2024Xen Project 4.19 Release Notes4.20March 5, 2025Xen Project 4.20 Release Notes4.22July 30, 2026Xen Project 4.22 Release Notes

Uses

Internet hosting service companies use hypervisors to provide virtual private servers. Amazon EC2 (from August 2006 to November 2017), IBM SoftLayer, Liquid Web, Fujitsu Global Cloud Platform, Linode, OrionVM and Rackspace Cloud use Xen as the primary VM hypervisor for their product offerings.

Virtual machine monitors (also known as hypervisors) also often operate on mainframes and large servers running IBM, HP, and other systems. Server virtualization can provide benefits such as: Consolidation leading to increased utilization Rapid provisioning Dynamic fault tolerance against software failures (through rapid bootstrapping or rebooting) Hardware fault tolerance (through migration of a virtual machine to different hardware) Secure separations of virtual operating systems Support for legacy software as well as new OS instances on the same computer

Xen's support for virtual machine live migration from one host to another allows load balancing and the avoidance of downtime.

Virtualization also has benefits when working on development (including the development of operating systems): running the new system as a guest avoids the need to reboot the physical computer whenever a bug occurs. Sandboxed guest systems can also help in computer-security research, allowing study of the effects of some virus or worm without the possibility of compromising the host system.

Finally, hardware appliance vendors may decide to ship their appliance running several guest systems, so as to be able to execute various pieces of software that require different operating systems.

Types of virtualization

Xen offers five approaches to running the guest operating system:

PV (paravirtualization): Virtualization-aware Guest and devices. HVM (hardware virtual machine): Fully hardware-assisted virtualization with emulated devices. HVM with PV drivers: Fully hardware-assisted virtualization with PV drivers for IO devices. PVHVM (paravirtualization with hardware virtualization): PV supported hardware-assisted virtualization with PV drivers for IO devices. PVH (PV in an HVM container): Fully paravirtualized Guest accelerated by hardware-assisted virtualization where available.

Xen provides a form of virtualization known as paravirtualization, in which guests run a modified operating system. The guests are modified to use a special hypercall ABI, instead of certain architectural features. Through paravirtualization, Xen can achieve high performance even on its host architecture (x86) which has a reputation for non-cooperation with traditional virtualization techniques.Robin and Irvine, "Analysis of the Intel Pentium's Ability to Support a Secure Virtual Machine Monitor", 9th Usenix Security Symposium, 2000Gil Neiger, Amy Santoni, Felix Leung, Dion Rodgers, Rich Uhlig. Intel Virtualization Technology: Software-only virtualization with the IA-32 and Itanium architectures, Intel Technology Journal, Volume 10 Issue 03, August 2006. Xen can run paravirtualized guests ("PV guests" in Xen terminology) even on CPUs without any explicit support for virtualization. Paravirtualization avoids the need to emulate a full set of hardware and firmware services, which makes a PV system simpler to manage and reduces the attack surface exposed to potentially malicious guests. On 32-bit x86, the Xen host kernel code runs in Ring 0, while the hosted domains run in Ring 1 (kernel) and Ring 3 (applications).