Xen Architecture

Alexy Pulivelil
2 min readJul 11, 2021

--

Xen is an open source hypervisor program developed by Cambridge University. Xen is a micro kernel hypervisor, which separates the policy from the mechanism. The core components of a Xen system are the hypervisor, kernel, and applications. The organization of the three components is important. Like other virtualization systems, many guest OSes can run on top of the hypervisor.

The Xen architecture’s special Dom0 (domain 0) and several guest domains for user applications.

However, not all guest OSes are created equal. The guest OS, which has control ability, is called Domain 0, and the others are called Domain U.

a) Dom0 / Domain0 / privileged domain / xen-server / host
Dom0 is the first domain started by the Xen hypervisor on boot. It has special privileges like being able to cause new domains to start or being able to access the hardware directly. It is responsible for running all of the device drivers for the hardware. For hardware that is made available to other domains, like network interfaces and disks, it will run the BackendDriver, which multiplexes and forwards to the hardware requests from the FrontendDriver in each DomU.
Although any operating system can be ported to run on Xen as a DomU, only Linux has been given the tools and kernel patches necessary to run in Dom0.

b) DomU / DomainU / unprivileged domain / virtual machine / guest
A DomU is the counterpart to Dom0; it is an unprivileged domain with (by default) no access to the hardware. It must run a FrontendDriver for multiplexed hardware it wishes to share with other domains. A DomU is started by xend in Dom0, which the user accesses with the xm command-line tool.

c) hypervisor / virtual machine monitor
The hypervisor is Xen itself. It is between the hardware and the operating system of the various domains. The hypervisor is responsible for checking page tables, allocating resources for new domains, and scheduling domains. It presents the domains with a virtual machine that looks similar but not identical to the native architecture. It is also responsible for booting the machine to start the Dom0.

d) virtual machine environment / virtualization environment
The virtual machine environment puts it all together. The Dom0, the DomU and the hypervisor make up the virtualization environment. The whole system is able to run multiple operating systems simultaneously.

--

--

Alexy Pulivelil

AWS Community Builder | Google Cloud Ready Facilitator | Cloud Enthusiast | DevOps Engineer | Youtuber — Techino Tech4u