Un hyperviseur est un logiciel ou un micrologiciel qui crée et gère des machines virtuelles en faisant abstraction des ressources matérielles d’un ordinateur physique et en les rendant accessibles à plusieurs systèmes d’exploitation simultanément. Au lieu de construire un système complet (y compris le matériel et le système d’exploitation basé sur celui-ci), vous créez simplement une version virtuelle de celui-ci, soit l’illusion d’un environnement PC.

Comment fonctionne un hyperviseur ?

Lorsque vous créez une machine virtuelle (VM), celle-ci s’exécute sur la base d’une machine réelle, comme un PC. La VM est donc dépendante du matériel physique. C’est pourquoi il existe une couche chargée de la gestion entre les deux niveaux : l’hyperviseur. L’hyperviseur est un logiciel qui se charge de l’allocation des ressources. Également connu sous le nom de Virtual Machine Monitor (VMM) ou moniteur de machine virtuelle, il alloue des ressources au sein du système. De cette manière, plusieurs machines virtuelles différentes peuvent fonctionner sur un système hôte, car l’hyperviseur veille à ce qu’elles ne se perturbent pas mutuellement et à ce que toutes disposent des capacités nécessaires.

L’hyperviseur crée donc une couche d’abstraction entre le matériel et les systèmes d’exploitation qui s’y exécutent. Pour ce faire, il divise les ressources matérielles en unités logiques et fait croire à chaque VM qu’elle dispose de son propre environnement. Les VM se comportent ainsi comme si elles s’exécutaient directement sur du matériel réel, même si elles partagent leurs ressources avec d’autres VM.

Note

La séparation stricte entre les différentes machines virtuelles assure non seulement une bonne répartition des ressources, mais renforce également la sécurité. Grâce à l’hyperviseur, il est garanti qu’un système invité ne peut pas accéder aux fichiers d’un autre système invité. Cela est particulièrement important lors de tests : ainsi, un programme défectueux ne peut pas endommager d’autres environnements de test.

Gestion de la mémoire

Lors de la virtualisation CPU, l’hyperviseur utilise des techniques telles que le time-slicing pour répartir équitablement la puissance de calcul entre les VM. Les processeurs modernes disposent de fonctions de virtualisation spéciales (par exemple Intel VT-x ou AMD-V) qui prennent en charge l’hyperviseur et réduisent les frais généraux.

En revanche, la mémoire vive (RAM) est gérée par des techniques de pagination et de mappage. L’hyperviseur attribue des adresses mémoire virtuelles aux blocs de mémoire physiques, de sorte que chaque VM ne voit que sa propre zone de mémoire. Lorsque la mémoire se fait rare, il peut utiliser des mécanismes tels que l’overcommitment de la mémoire ou le ballooning pour répartir efficacement la mémoire entre les VM.

Gestion des E/S et des périphériques

Les machines virtuelles accèdent aux périphériques matériels tels que les disques durs, les cartes réseau ou les cartes graphiques via des interfaces virtuelles. L’hyperviseur émule ces périphériques ou transmet les requêtes directement au matériel physique (techniques d’E/S directes ou de pass-through). Cela permet d’assurer un équilibre entre compatibilité et performances.

Isolation et sécurité

L’un des principaux avantages de la virtualisation est l’isolation entre les VM. Chaque VM fonctionne dans son propre environnement, de sorte que les erreurs ou les attaques dans une VM n’ont pas d’impact direct sur les autres machines virtuelles ou le système hôte. L’hyperviseur utilise différents mécanismes de sécurité pour assurer une séparation stricte, notamment la protection de la mémoire, les contrôles d’accès et les techniques de sandboxing.

Conseil

Si vous souhaitez également utiliser une machine virtuelle, vous avez le choix entre différents logiciels de virtualisation. Pour les utilisateurs finaux, VirtualBox ou Hyper-V la solution de virtualisation de Microsoft, sont par exemple un choix approprié. Pour les grandes entreprises, la suite de virtualisation de VMware Broadcom est l’un des choix possibles.

Les différents types d’hyperviseurs

Il existe deux types différents de moniteurs de machine virtuelle : les hyperviseurs de type 1 et de type 2. Chacun possède des avantages spécifiques. La première variante est également la plus ancienne. Déjà dans les années 1960, des tentatives de virtualisation ont été faites avec cette technologie.

Hyperviseur de type 1

Le premier type est appelé bare metal hypervisor ou hyperviseur natif. Cette forme de VMM est installée directement sur le matériel physique et n’est pas connectée au système d’exploitation hôte. Par conséquent, il doit inclure tout pilote périphérique lui-même. La consommation de ressources d’un hyperviseur de type 1 est relativement faible car la puissance de calcul ne doit pas passer par le système d’exploitation hôte. Ce type d’hyperviseur est principalement destiné aux utilisateurs qui veulent créer un serveur de virtualisation. Un hyperviseur de type 1 est trop complexe pour les petits projets destinés aux particuliers.

Image: Représentation de la fonctionnalité de l’hyperviseur de type 1
Un hyperviseur de type 1 se trouve directement sur le hardware.

Hyperviseur de type 2

La deuxième variante (également appelée hosted hypervisor)* nécessite un système d’exploitation existant*, qui à son tour est basé sur le matériel physique. Un hyperviseur de type 2 est donc installé comme tout autre programme. La VMM gère ensuite la virtualisation. Les pilotes de périphériques ne doivent pas être installés dans l’hyperviseur, puisque le système d’exploitation réel peut simplement les transmettre au logiciel. Toutefois, cette commodité se fait au détriment de la performance. Une grande partie des ressources est déjà consommée par le système d’exploitation hôte. En raison de leur installation et configuration simples, les hyperviseurs de type 2 sont parfaitement adaptés aux projets de moindre envergure.

Image: Représentation de la fonctionnalité de l’hyperviseur de type 2
L’hyperviseur de type 2 est installé sur un système d’exploitation existant.
Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avantageux et cœurs dédiés performants
  • Sans engagement pour plus de flexibilité
  • Assistance par des experts 24h/24 et 7j/7 incluse
Cet article vous a-t-il été utile ?
Aller au menu principal