QEMU signifie Quick Emulator. C’est un outil qui peut être utilisé comme émulateur ou hyperviseu. QEMU a été développé par Fabrice Bellard et est actuellement accessible en open-source et maintenu par des développeurs dans plusieurs pays.
Un émulateur dans les grandes lignes simule un système d’exploitation ou des périphériques pour présenter à une ou plusieurs applications ou périphériques qui ne fonctionnaient que sur des systèmes différents.
Par exemple faire fonctionner un jeux vidéo d’une console de jeux dans un système d’exploitation, connecter les périphériques d’entrés et de sortie d’une machine outil à un pc…
Les exemples peuvent être nombreux et les applications multiples. Une application possible de l’émulation est de proposer à un programme informatique qui fonctionne dans un système d’exploitation ancien un espace dans un système d’exploitation récent pour fonctionner dans des conditions équivalentes.
Dans l’émulation, l’espace crée à l’intérieur du système d’exploitation n’est pas isolé du reste du système d’exploitation et accède aux ressources (périphériques) par l’OS.
En comparaison, la virtualisation fonctionne avec un partage des ressources de manière isolée et la virtualisation par hyperviseur peut accéder de manière exclusive aux ressources d’un système d’exploitation… Par extension, la virtualisation par hyperviseur peut accéder à un OS installé sur un disque dans un OS hôte.
Qemu comme émulateur peut accéder aux périphériques d’une machine de manière performante et accéder aux instructions du processeur (cpu). Cependant, la gestion des instructions du processeur est plus performante avec un hyperviseur qui utilise des techniques spécifiques.
Kvm est un composant du noyau linux qui propose des fonctionnalités de virtualisation performantes. Cette combinaison, kvm-qemu permet de créer et de gérer des machines virtuelles comme hyperviseur de type 2 avec des performances et des fonctionnalités améliorées. Kvm-qemu est principalement accessible sur les OS de type linux.