Première approche de Xen
Différences entre la paravirtualisation et la virtualisation
Nous avons évoqué dans l'introduction que Xen était un hyperviseur. Les hyperviseurs font en fait de la paravirtualisation. Pour bien comprendre la différence entre une solution de virtualisation simple et la paravirtualisation, nous allons passer en revue ces deux solutions.
Les solutions de virtualisation simple comme vmware, virtualbox, ou encore virtualpc sont des solutions qui font croire au système invité qu'il tourne sur une vraie machine. Il simule la présence d'un BIOS pour chaque machine invitée. La machine invitée n'a à aucun moment conscience qu'elle est en fait virtualisée.
Une solution de paravirtualisation implique que le noyau de la machine hôte soit modifié et adapté pour faire uniquement tourner des machines invitées. C'est ce noyau qu'on apelle un hyperviseur et Xen est un hyperviseur. De plus, les noyaux invités sont modifiés pour être le plus performant possible sous ce type de virtualisation. La machine invitée sait donc qu'elle est virtualisée.
Si on compare ces deux technologies, on remarque clairement que la paravirtualisation est beaucoup plus performante. En effet, la virtualisation simple nécessite qu'on ajoute au dessus d'un OS complet, un autre OS complet qui sera virtualisé. Cela entraîne un énorme coût en terme de performances. La paravirtualisation permet de se rapprocher de performances proches de celles obtenues nativement par un système d'exploitation.
On peut voir sur le schéma suivant que l'ajout d'un OS sur un noyau léger et optimisé permet d'augmenter les performances. C'est ce noyau léger qu'on appelle un hyperviseur.
