QEMU

QEMU

QEMU ist ein kostenloses Programm, das einen kompletten Computer als Software nachbaut. Darin lässt sich ein zweites Betriebssystem starten – auch eines, das für eine völlig andere Art von Prozessor geschrieben wurde.

QEMU ist ein frei verfügbares Programm, das einen vollständigen Computer nachahmt. Es täuscht dabei alles vor, was ein echter Rechner braucht: Prozessor, Arbeitsspeicher, Festplatte, Netzwerkkarte, Bildschirm. Auf diesem nachgebauten Computer kann man dann ein ganz normales Betriebssystem installieren, also zum Beispiel Windows oder Linux. Für dieses Betriebssystem sieht alles echt aus – es merkt nicht, dass es in einem Programm läuft. Der Name steht für „Quick Emulator“; ein Emulator ist genau das: eine Software, die fremde Hardware imitiert. QEMU gibt es seit 2003 und es ist heute eines der wichtigsten Bausteine der gesamten Cloud-Technik.

Warum ein nachgebauter Computer nützlich ist

Der offensichtlichste Vorteil ist Sicherheit. Was in einem nachgebauten Computer passiert, bleibt dort drin. Wer einen verdächtigen Anhang oder ein Schadprogramm untersuchen will, öffnet es in QEMU. Geht dabei etwas kaputt, löscht man die Datei mit dem virtuellen Computer und beginnt neu. Der echte Rechner bleibt unberührt.

Der zweite Vorteil ist Unabhängigkeit von der Hardware. Prozessoren gibt es in verschiedenen Bauarten, und Programme laufen meist nur auf einer davon. Handys und neuere Macs nutzen ARM-Prozessoren, klassische PCs dagegen x86. QEMU kann eine Bauart auf der anderen nachbilden. So testet ein Entwickler Software für ein Gerät, das er gar nicht besitzt.

Wichtig für die Wirtschaft ist ein dritter Punkt: Rechenzentren verkaufen keine ganzen Computer mehr, sondern Anteile davon. Auf einem starken Server laufen dutzende nachgebaute Rechner gleichzeitig, jeder für einen anderen Kunden. Genau diese Aufteilung übernimmt in vielen Rechenzentren QEMU. Ohne diese Technik gäbe es Cloud-Anbieter in ihrer heutigen Form nicht.

Übersetzen statt selbst rechnen

Ein Prozessor versteht nur sehr einfache Befehle, etwa „addiere diese zwei Zahlen“. QEMU liest die Befehle des Gastsystems und übersetzt sie in Befehle, die der echte Prozessor versteht. Damit das nicht zu langsam wird, merkt sich QEMU die Ergebnisse: Ein einmal übersetzter Abschnitt wird gespeichert und beim nächsten Durchlauf direkt wiederverwendet. Dieses Verfahren heißt dynamische Übersetzung.

Übersetzen kostet trotzdem Zeit. Deshalb gibt es einen Sonderfall: Wenn Gast und Wirt dieselbe Prozessorbauart haben, ist Übersetzen überflüssig. Dann darf das Gastsystem direkt auf dem echten Prozessor rechnen. Unter Linux erledigt das eine Zusatzfunktion namens KVM, die im Betriebssystemkern steckt. Die Kombination QEMU/KVM erreicht so fast die volle Geschwindigkeit der echten Hardware.

Ein häufiger Irrtum ist, QEMU und KVM seien Konkurrenten. Sie ergänzen sich: KVM beschleunigt das Rechnen, QEMU stellt die vorgetäuschten Geräte bereit – Festplatte, Grafik, Netzwerk. Ohne QEMU hätte das Gastsystem nichts, woran es sich anschließen könnte.

QEMU in Cloud, Entwicklung und Retro-Spielen

Am häufigsten begegnet man QEMU, ohne es zu merken. Wer bei einem europäischen Hoster einen günstigen Linux-Server mietet, bekommt in der Regel eine QEMU-Maschine. Auch große Cloud-Angebote setzen auf diese Technik oder auf Weiterentwicklungen davon. Amazons Firecracker etwa entstand aus QEMU-Code, wurde aber radikal verkleinert, damit tausende Instanzen in Sekundenbruchteilen starten.

In der Softwareentwicklung ist QEMU Standardwerkzeug. Der Android-Emulator in Googles Entwicklungsumgebung baut darauf auf – so testet man Apps auf einem simulierten Handy. Auch wer Software für kleine Geräte wie Router oder Sensoren schreibt, probiert sie zuerst in QEMU aus. Und Fachleute für Computersicherheit sezieren darin Schadprogramme, weil sie deren Verhalten Schritt für Schritt beobachten können.

Schließlich gibt es den Hobbybereich. Alte Betriebssysteme und Spiele von vor dreißig Jahren laufen auf heutiger Hardware nicht mehr, in QEMU dagegen schon. Manche Projekte haben QEMU sogar so umgebaut, dass es direkt im Webbrowser läuft. Man öffnet eine Internetseite und startet darin ein vollständiges Linux.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.