The dom0 is essentially the "host" operating system (or a "service console", if you prefer). As a result, it runs the Xen management toolstack, and has special privileges, like being able to access the hardware directly.
It also has drivers for hardware, and it provides Xen virtual disks and network access for other guests aka domUs (unprivileged domains). 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.
Unless DriverDomain's are being used or the hardware is passed through to the domU, the dom0 is responsible for running all of the device drivers for the hardware.
- Dom0 Kernels for Xen : Supported Kernels for Dom0
Most commonly dom0 runs some variant of Linux, but Xen dom0 implementations also exist for OpenSolaris and NetBSD. Modified versions of Linux, NetBSD and Solaris can be used as the dom0. See OS vendor documentation for specific steps. Current official documentation may be found at the following sites: