1.. SPDX-License-Identifier: CC-BY-4.0 2 3Introduction 4============ 5 6Xen is an open source, bare metal hypervisor. It runs as the most privileged 7piece of software, and shares the resources of the hardware between virtual 8machines. 9 10In Xen terminology, there are :term:`domains<domain>`, commonly abbreviated to 11dom, which are identified by their numeric :term:`domid`. 12 13When Xen boots, dom0 is automatically started as well. Dom0 is a virtual 14machine which, by default, is granted full permissions [1]_. A typical setup 15might be: 16 17.. image:: xen-overview.drawio.svg 18 19Dom0 takes the role of :term:`control domain`, responsible for creating and 20managing other virtual machines, and the role of :term:`hardware domain`, 21responsible for hardware and marshalling guest I/O. 22 23Xen is deliberately minimal, and has no device drivers [2]_. Xen manages RAM, 24schedules virtual CPUs on the available physical CPUs, and marshals 25interrupts. 26 27Xen also provides a hypercall interface to guests, including event channels 28(virtual interrupts), grant tables (shared memory), on which a lot of higher 29level functionality is built. 30 31.. rubric:: Footnotes 32 33.. [1] A common misconception with Xen's architecture is that dom0 is somehow 34 different to other guests. The choice of id 0 is not an accident, and 35 follows in UNIX heritage. 36 37.. [2] This definition might be fuzzy. Xen can talk to common serial UARTs, 38 and knows how to drive various CPU internal devices such as IOMMUs, but 39 has no knowledge of network cards, disks, etc. All of that is the 40 hardware domains responsibility. 41