This post emphasises the differences between CNA, Domain, Hypervisor and domain U. Please find them below.
CNA is a virtualized operating system that can virtualize the underlying physical hardware resources into virtual resources for use by upper-layer virtual machines.
Hypervisor: It is an intermediate software layer between the operating system and the hardware. It is responsible for CPU scheduling and memory allocation between virtual machines. It not only abstracts the hardware of the virtual machine, but also controls the command execution of each virtual machine; however, it will not handle network IO, as it is the executor of virtualization.
Domain0: is a modified Linux Kernel. It is the only virtual machine running on top of the Xen Hypervisor. It has access to physical IO resources and interacts with other virtual machines running on the system. Domain0 needs to be in other domains. Starting before startup, it is the virtualized policy implementer. Domain0 is used to capture and process the IO information of domainU and the underlying hardware interaction.
DomainU: All paravirtualized virtual machines running on the Xen Hypervisor are called "Domain U PV Guests", which runs an operating system with a modified kernel.