Xen Project Software Overview

From Xen
Revision as of 17:01, 23 April 2012 by Dunlapg (talk | contribs)
Jump to navigationJump to search

What is Xen?

Xen is an open-source baremetal hypervisor that runs most of the world's cloud infrastructure.

Here are some key features:

  • Small footprint and interface. Because Xen uses a microkernel design, with a small memory footprint and limited interface to the guest, it is more robust and secure than
  • Operating system agnostic: Most installations run with Linux as the main control stack (aka "domain 0"). But a number of other operating systems can be used instead, including NetBSD and OpenSolaris.
  • Driver Isolation: Xen has the capability to allow the main device driver for a system to run inside of a virtual machine. If the driver crashes, or is compromised, the VM containing the driver can be rebooted and the driver restarted without affecting the rest of the system.
  • Paravirtualization: Fully paravirtualized guests have been optimized to run as a virtual machine. This allows the guests to run much faster than with hardware extensions (HVM). Additionally, Xen can run on hardware that doesn't support virtualization extensions.

This page will explore the key aspects of Xen architecture that a user is likely to understand in order to make the best choices about Xen.

  • Guest types: Xen can run fully virtualized (HVM) guests, or paravirtualized (PV) guests. This section describes the differences between them.
  • Domain 0: Xen has a special domain called domain 0 which contains drivers for the hardware, as well as the toolstack to control VMs.
  • Toolstacks: This section covers various toolstack front-ends available tor Xen and the implications of using each.


Introduction to Xen Architecture

Below is a diagram of the architecture of Xen. At the very bottom is the hardware. The Xen hypervisor runs directly on the hardware, and is responsible for handling CPU, Memory, and interrupts. It is the first program run after exiting the bootloader. On top of Xen run a number of virtual machines. A running instance of a virtual machine in Xen is called a domain. There is a special domain, called domain 0, which contains the drivers for all the devices in the system. Domain 0 also contains a control stack to manage virtual machine creation, destruction, and configuration.

Guest Types