QEMU

Virtualisation

QEMU est un émulateur de processeur, qui permet d'exécuter des programmes destinés à un système d'exploitation différent de celui de l'hôte. Cela permet par exemple d'exécuter un système d'exploitation destiné à une architecture matérielle différente (par exemple un système d'exploitation destiné à une architecture ARM sur un ordinateur x86), ou encore de tester une nouvelle version d'un système d'exploitation sans avoir à l'installer directement sur un ordinateur.

QEMU fonctionne en émulant les instructions du processeur de la machine cible, en utilisant la traduction binaire dynamique (dynamic binary translation). Cela signifie que les instructions du processeur sont traduites en temps réel en instructions équivalentes pour l'hôte. Cette technique permet à QEMU de simuler les périphériques de la machine cible (disques, réseau, etc.) et de gérer l'interaction entre le système d'exploitation invité et le matériel hôte.

QEMU peut être utilisé avec diverses architectures de processeurs, tels que x86, ARM, MIPS, PowerPC, etc. Il est également compatible avec plusieurs systèmes d'exploitation invités, tels que Linux, Windows, FreeBSD, etc.

QEMU offre également une fonctionnalité de virtualisation, qui permet d'exécuter des systèmes d'exploitation invités de manière plus performante en utilisant les extensions de virtualisation du processeur hôte. Cette technique permet à QEMU d'exécuter des machines virtuelles à des performances proches de celles d'une machine physique, en évitant la traduction binaire dynamique à chaque instruction.

Bien que QEMU soit un émulateur de processeur puissant et flexible, il présente certains inconvénients par rapport à la solution de virtualisation KVM (Kernel-based Virtual Machine) :

CPT