Le fonctionnement de Xen
Xen permet d’exécuter plusieurs systèmes d’exploitation au-dessus d’un système “hôte”, l’hyperviseur, de manière transparente. Cet article explique les mécanismes de base utilisés pour permettre cette virtualisation :
- le déroutement des instructions IA-32 problématiques par des appels à l’hyperviseur (hypercalls).
- une isolation des drivers qui n’accèdent plus directement au matériel
- l’utilisation des nouveaux jeux d’instruction pour la virtualisation d’Intel (Vanderpool) et AMD (Pacifica). Vanderpool est supporté aujourd’hui officiellement par Xen, et Pacifica est supporté par une branche séparée.
Tout cela permet dès à présent des choses étonnantes, comme l’exécution de plusieurs OS sur un même matériel sans dégradation notable de performances, et la migration “live” d’un OS en cours d’exécution d’un serveur vers un autre, avec un temps d’indisponibilité réduit (quelques centièmes de secondes).