Xen


Xen[ARM Cortex-A15 MPCore|] is a 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.
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, 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.
Responsibilities of the hypervisor include memory management and CPU scheduling of all virtual machines, and for launching the most privileged domain - the only virtual machine which by default has direct access to hardware. From the dom0 the hypervisor can be managed and unprivileged domains 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, 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.

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. 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.
The Open Source Xen Project continued to be supported by XenSource, then by Citrix following XenSource's acquisition in October 2007. This organization supports the development of the free software project and also sells enterprise versions of the software.
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, 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 uses 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.

Release history for Xen Project (upstream project)

Xen in Linux distributions and Linux upstream

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

Uses

companies use hypervisors to provide virtual private servers. Amazon EC2, 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 often operate on mainframes and large servers running IBM, HP, and other systems.
Server virtualization can provide benefits such as:
Xen's support for virtual machine live migration from one host to another allows workload balancing and the avoidance of downtime.
Virtualization also has benefits when working on development : 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.

Technology

Types of virtualization

Xen offers five approaches to running the guest operating system:
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 which has a reputation for non-cooperation with traditional virtualization techniques.
Xen can run paravirtualized guests 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 and Ring 3.

Hardware-assisted virtualization, allowing for unmodified guests

CPUs that support virtualization make it possible to run unmodified guests, including proprietary operating systems. This is known as hardware-assisted virtualization, however, in Xen this is known as hardware virtual machine.
HVM extensions provide additional execution modes, with an explicit distinction between the most-privileged modes used by the hypervisor with access to the real hardware and the less-privileged modes used by guest kernels and applications with "hardware" accesses under complete control of the hypervisor.
Both Intel and AMD have contributed modifications to Xen to exploit their respective Intel VT-x and AMD-V architecture extensions. Use of ARM v7A and v8A virtualization extensions came with Xen 4.3.
HVM extensions also often offer new instructions to allow direct calls by a paravirtualized guest/driver into the hypervisor, typically used for I/O or other operations needing high performance. These allow HVM guests with suitable minor modifications to gain many of the performance benefits of paravirtualized I/O.
In current versions of Xen only fully virtualized HVM guests can make use of hardware facilities for multiple independent levels of memory protection and paging. As a result, for some workloads, HVM guests with PV drivers provide better performance than pure PV guests.
Xen HVM has device emulation based on the QEMU project to provide I/O virtualization to the virtual machines. The system emulates hardware via a patched QEMU "device manager" daemon running as a backend in dom0. This means that the virtualized machines see an emulated version of a fairly basic PC. In a performance-critical environment, PV-on-HVM disk and network drivers are used during the normal guest operation, so that the emulated PC hardware is mostly used for booting.

Virtual machine migration

Administrators can "live migrate" Xen virtual machines between physical hosts across a LAN without loss of availability. During this procedure, the LAN iteratively copies the memory of the virtual machine to the destination without stopping its execution. The process requires a stoppage of around 60–300 ms to perform final synchronization before the virtual machine begins executing at its final destination, providing an illusion of seamless migration. Similar technology can serve to suspend running virtual machines to disk, "freezing" their running state for resumption at a later date.

Target processors

The Xen hypervisor has been ported to a number of processor families.
Cortex-A15.
Xen can scale to 4095 physical CPUs, 256 VCPUs per HVM guest, 512 VCPUs per PV guest, 16 TB of RAM per host, and up to 1 TB of RAM per HVM guest or 512 GB of RAM per PV guest.

Hosts

Xen can be shipped in a dedicated virtualization platform, such as Citrix Hypervisor.
Alternatively, Xen is distributed as an optional configuration of many standard operating systems. Xen is available for and distributed with:

Unix-like systems as guests

Guest systems can run fully virtualized, paravirtualized, or fully virtualized with paravirtualized drivers. Most operating systems which can run on PCs can run as a Xen HVM guest. The following systems can operate as paravirtualized Xen guests:
For an updated list differentiating PV and PVHVM support, see .

Microsoft Windows systems as guests

Xen version 3.0 introduced the capability to run Microsoft Windows as a guest operating system unmodified if the host machine's processor supports hardware virtualization provided by Intel VT-x or AMD-V.
During the development of Xen 1.x, Microsoft Research, along with the University of Cambridge Operating System group, developed a port of Windows XP to Xen — made possible by Microsoft's Academic Licensing Program. The terms of this license do not allow the publication of this port, although documentation of the experience appears in the original Xen SOSP paper.
James Harper and the Xen open-source community have started developing GPL'd paravirtualization drivers for Windows. These provide front-end drivers for the Xen block and network devices and allow much higher disk and network performance for Windows systems running in HVM mode. Without these drivers all disk and network traffic has to be processed through QEMU-DM. Subsequently, Citrix has released under a BSD license PV drivers for Windows.

Xen Management Consoles

Third-party developers have built a number of tools to facilitate the common tasks of administering a Xen host, such as configuring, starting, monitoring and stopping of Xen guests. Examples include:
The Xen hypervisor is covered by the GNU General Public Licence, so all of these versions contain a core of free software with source code. However, many of them contain proprietary additions.

Overview of Xen Projects releases in commercial distributions

Commercial distribution versionRelease date of commercial versionXen Projects versionCommercial release EOL date
Citrix XenServer 6.02011-09-304.1.12016-09-26
Citrix XenServer 6.12012-09-284.1.32016-09-30
Citrix XenServer 6.22013-06-184.1.52018-06-26
Citrix XenServer 6.2 SP12013-12-164.1.52018-06-26
Citrix XenServer 6.52015-01-134.4.12018-06-26
Citrix XenServer 6.5 SP12015-05-124.4.12018-06-26
Citrix XenServer 7.02016-05-244.6.12021-05-19
Citrix XenServer 7.12017-02-234.7.12022-08-01
Citrix XenServer 7.42018-02-274.7.42018-09-30
Citrix XenServer 7.52018-05-304.7.x2019-04-20
Citrix XenServer 7.62018-09-064.7.62019-07-06