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