Dom0, or domain zero to expand the abbreviation, is the first domain started by the Xen hypervisor on boot. It has special privileges, like being able to cause new domains to start, and being able to access the hardware directly. Unless DriverDomains are being used, 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. To compile a Linux kernel for Dom0, you must configure in CONFIG_XEN_PRIVILEGED_GUEST as well as the drivers for all of your hardware. A kernel that has been compiled with these options can run in either a Dom0 or a DomU; one without will be much smaller but can only run in a DomU.
