This section of our open source virtualization software guide outlines Xen virtualization and Kernel-based Virtual Machine, or KVM Linux virtualization architecture, and the differences between these open source virtualization architectures.
Xen is the oldest open source virtualization technology and has been available for approximately five years. Version 3.0 of Xen features the most central improvement. Virtual machines can start a specific Xen kernel. So too, unmodified operating systems can run their own kernel (such as Windows). The most important advantage of Xen is paravirtualization, a technology that enables virtual machines to run efficiently and without requiring emulation (thus guests are aware of the hypervisor and can run efficiently without emulation or virtual emulated hardware). The most important disadvantage of Xen is that it is a complex product that can be difficult to integrate with the Linux kernel.
The purpose of KVM was to provide a virtualization technology that resides in the Linux kernel itself. KVM is just a single module that you have to load in the Linux kernel. Once the module is loaded, you can create virtual machines. But KVM's virtualization scheme is not yet as advanced as Xen and does not offer features such as paravirtualization. As a result the KVM hypervisor has to emulate instructions that are generated by KVM virtual machines. To gain this functionality, you pay an additional performance price. (For more, check out this face-off on Xen vs. KVM Linux virtualization hypervisors.)
ABOUT THE AUTHOR: Sander van Vugt is an author and independent technical trainer, specializing in Linux since 1994. Vugt is also a technical consultant for high-availability clustering and performance optimization, as well as an expert on SLED 10 administration.