L'hyperviseur est un micro-kernel constituant une couche très fine d'abstraction se placant entre le materiel et le systeme d'exploitation utilisé dans les domaines. Son but est de présenter une interface pour acceder au materiel en prenant compte que dans un environnement virtualisé plusieurs OS peuvent demander l'acces aux ressources physiques de la machine, ce qui n'est pas le cas en temps normal. Cet acces est donc géré via le bus xen (démon xend) qui multiplexe ainsi l'acces au réseau, a l'affichage et aux block devices. L'acces aux péripherique via le bus PCI par ex est directement retransmis au Dom0. Ainsi se sont les pilotes linux installés dans le dom0 qui sont utilisés, couvrant une meilleur compatibilité materiel (comparé à VmWare ESX entre autres).
C'est le domaine qui contient le systeme d'exploitation qui aura acces aux instructions privilegiés du CPU (ring0) et aussi aux péripheriques. Il sert de gestionnaires pour la gestion des machines virtuelles (domU).
Les domaines U contiennent les systèmes d'exploitation virtualisés. Il y a 2 types: paravirtualisé et virtualisé.
Avec ce type de virtualisation, l'OS de la machine virtuelle doit avoir conscience qu'il est virtualisé. Il a donc été modifié en conséquence, apportant souvent des gains de performances pour ce type d'utilisation. Bien sûr, les OS dont les sources sont libres et ouvertes ont été les premiers à supporter la paravirtualisation.
Pour la virtualisation complète, c'est à dire que le systeme d'exploitation invité n'a pas conscience d'etre dans une machine virtuelle et n'est donc pas modifié en conséquence, il faut disposer de processeur prenant en compte la virtualisation. Il s'agit des CPU Intel avec technologie VT/Vanderpool (flag vmx dans cpuinfo) ou AMD avec Pacifica (flag svm).