The Xen system virtualization approach is based on the concept of para-virtualization. Unlike other approaches, Xen makes no attempt to hide the virtualization process from the virtual machines. Instead, it requires that each machine is aware of the virtualization, and explicitly invokes the hypervisor to perform device access, memory management, and other key functions. With the introduction of hardware-assisted virtualization in the form of chip extensions from AMD and Intel, Xen is able to extend its approach to provide support for fully hardware-virtualized virtual machines (HVMs).
*Figure A2 - Xen System Virtualization Architecture*
The Xen Hypervisor is, in effect, a super-kernel that controls all of the actual resources, such as memory, interrupts, and central processing units (CPUs). This hypervisor allocates CPUs and memory to the different virtual machines running on it.
The Domain 0 VM is a special virtual machine used for management and input/output (I/O) functions. Unlike the other virtual machines, the Domain 0 VM has devices allocated to it by the hypervisor. These devices are used in conjunction with native device drivers to perform I/O tasks on behalf of the guest VMs. The Domain 0 VM also contains the XAPI Management Service that provides an interface for management consoles.
Enlightened drivers reside within each guest VM, to make the explicit calls to the hypervisor that are required in a para-virtualized environment. These drivers can be applied to computing devices, such as disk and network devices. Enlightened kernel drivers are available in certain operating systems, such as Linux.