Why Xen Hypervisor needs Domain0? Why can't they just communicate with the hardware through Xen, Xen is already an OS in the physical machine, why can't they just do all the work on Xen instead of creating another Domain0 to handle the I/O communication and managing the rest of the VMs(domainUs).
What's the point? It's like you already have Microsoft Office on your windows 7 computer, and you want to have a windows 7 VM running on your windows 7 computer, and use the Microsoft office in the virtual windows 7.
The Xen philosophy is to have as minimum functionality as possible to handle safe execution of the multiple VM on the system. Xen only handles CPU and memory management, while leaves out I/O operations for the Dom0 to do. It however facilitates the communication between Domu (a normal VM) and Dom0. Thus, Xen in some sense is not an operating system.
The minimum-functionality "principle" ensures that Xen is not exposed to driver-related bugs (which occur frequently) and thus is extremely reliable.