What is Xen?
Xen is the open source hypervisor included in the Linux kernel and, as such, it is available in all Linux distributions. The Xen Project is one of the many open source projects managed by the Linux Foundation.
A typical environment running Xen consists of different parts. To start with, there's Domain 0. In Xen, this is how you refer to the host operating system (OS), as it's not really a host OS in the sense that other virtual machines (VMs) -- domains in Xen terminology -- don't have to use it to get access to the host server hardware.
Domain 0 is only responsible for access to the drivers, and if any coordination must be done, it will be handled by Domain 0.
Apart from Domain 0, there are the other VMs that are referred to as Domain U.
Xen offers two types of virtualization: paravirtualization and full virtualization. In paravirtualization, the virtualized OS runs a modified version of the OS, which results in the OS knowing that it's virtualized. This enables much more efficient communication between the OS and the physical hardware, as the hardware devices can be addressed directly. The only drawback of paravirtualization is that a modified guest OS needs to be used, which isn't provided by many vendors.
The counterpart of paravirtualization is full virtualization. This is a virtualization mode where the CPU needs to provide support for virtualization extensions. In full virtualization, unmodified virtualized OSes can efficiently address the hardware because of this support.
Commercial versions of Xen
Although Xen is included in the Linux kernel, only a few Linux distributions, such as Oracle Unbreakable Linux and SUSE Linux Enterprise Server, offer a supported Xen stack. Red Hat included Xen up to Red Hat Enterprise Linux (RHEL) 5, but switched to KVM with the release of RHEL 6.
In addition to the Linux distributions that include Xen, Citrix has an open source product called XenServer. XenServer offers Xen-based virtualization packaged with a web-based management platform, which enables easy management of VMs on a cluster consisting of multiple Xen servers.
A similar web-based management client is included in Oracle VM, but SUSE doesn't provide a graphical integrated management client.
Citrix also developed XenDesktop, a product that enables companies to run virtual desktops, on top of a Xen infrastructure.
Originally, Xen offered the Xend process to install and manage VMs from the command line. The Xend process is a management daemon that's addressed by the xe, xk or xl command, depending on the Xen version that's used. In modern Xen environments, the Xend process is often replaced by libvirtd, a more generic interface used by other virtualization platforms like KVM, which is managed by using the rich virsh command line utility.
KVM vs. Xen
Since Red Hat dropped Xen support in 2010, interest has shifted from Xen to KVM as the major Linux virtualization platform. KVM established itself as the leading virtualization platform for the Linux OS during the period between Red Hat dropping Xen in 2010 and the Linux Foundation adopting Xen in 2015.
This shift of attention, however, doesn't mean Xen is irrelevant. Major sites around the world are offering virtualization platforms based on Xen. The most important of these is Amazon Web Services, one of the leading public cloud platforms. Also, Xen is still doing very well in mission-critical production environments because it has a reputation for being more stable and reliable than KVM.
The future of Xen
Since its adoption by the Linux Foundation, Xen has been formally included in the Linux kernel. Also, there's a healthy interest in further development of Xen from different commercial vendors because XenServer and XenDesktop are important products for Citrix, and Oracle and Amazon built their virtualization platform, Oracle VM, with Xen. That results in a solid future for Xen.
Even if it's not the leading Linux-based virtualization platform anymore, Xen will definitely continue to play a significant role in the virtualization landscape in the years to come.