Datasheet
Chapter 1: Overview of Virtualization
6
 Kernel - level  virtualization:  This type of virtualization does not require a hypervisor, but instead 
runs a separate version of the Linux kernel and an associated virtual machine as a user - space 
process on the physical host. This provides an easy way to run multiple virtual machines on a 
single host. Examples of this are User - Mode Linux (UML), which has been supported in the 
mainline Linux kernel for quite a while but requires a special build of the Linux kernel for guest 
operating systems, and Kernel Virtual Machine (KVM), which was introduced in the 2.6.20 
mainline Linux kernel. UML does not require any separate administrative software in order to 
execute or manage its virtual machines, which can be executed from the Linux command line. 
KVM uses a device driver in the host ’ s kernel for communication between the main Linux kernel 
and the virtual machines, requires processor support for virtualization (Intel VT or AMD - v 
Pacifica), and uses a slightly modified QEMU process as the display and execution container for 
its virtual machines. In many ways, KVM ’ s kernel - level virtualization is a specialized version of 
full virtualization, where the Linux kernel serves as the hypervisor, but I think that UML and 
KVM are unique enough to merit their own class of server virtualization. For more information 
about the Intel and AMD hardware that supports hardware virtualization, see the section 
 “ Hardware Requirements for Xen ”  in Chapter 3 .  
 Hardware virtualization:  Very similar to both paravirtualization and full virtualization, 
hardware virtualization uses a hypervisor, but it is only available on systems that provide 
hardware support for virtualization. Hypervisor - based systems such as Xen and VMWare ESX 
Server, and kernel - level virtualization technologies such as KVM, can take advantage of the 
hardware support for virtualization that is provided on the latest generation of Intel (Intel VT, 
aka Vanderpool) and AMD (AMD - V, aka Pacifica) processors. Virtual machines in a hardware 
virtualization environment can run unmodified operating systems because the hypervisor can 
use the hardware ’ s support for virtualization to handle privileged and protected operations and 
hardware access requests, and to communicate with and manage the virtual machines. For more 
information about the Intel and AMD hardware that supports hardware virtualization, see the 
section “ Hardware Requirements for Xen ”  in Chapter 3 .    
 As you can see from the previous list, hypervisor - based virtualization is the most popular virtualization 
technique in use today, spanning the best - known server and machine virtualization technologies, 
including IBM ’ s VM operating system, VMWare ’ s ESX Server, Parallels Workstation, Virtual Iron 
products, and Xen. The use of a hypervisor was pioneered by the original commercial virtual-machine 
environment, IBM ’ s CP/CMS operating system ( 
http://en.wikipedia.org/wiki/CP/CMS ), 
introduced in 1966, was popularized by IBM ’ s VM/370 operating system ( 
http://en.wikipedia
.org/wiki/VM_%28operating_system%29
 ), introduced in 1970, and remains a great idea today.    
❑
❑
Standardizing Linux Server Virtualization
Although Xen is an open source project, keeping up with both the Xen patches and the 
latest revision of the Linux kernel is tough. The increasing popularity of Xen has made 
many people hope for the direct inclusion of the Xen patches into the mainline kernel 
sources. However, the folks from VMware aren’t among them because the inclusion of 
Xen-specific patches could conceivably give Xen (and thus XenSource) a commercial 
edge over the VMware technologies. As you might hope, the Linux kernel is a truly 
open effort whose goal is open APIs and general, vendor-agnostic functionality, and 
c01.indd 6c01.indd 6 12/14/07 3:57:20 PM12/14/07 3:57:20 PM










