QEMU

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
QEMU
Logo
Entwickler Fabrice Bellard
Aktuelle Version 2.1.0[1]
(1. August 2014)
Betriebssystem Windows, GNU/Linux, BSD, Mac OS X, OS/2/eComStation, Haiku, DR-DOS und FreeDOS mittels HX DOS Extender[2]
Kategorie Emulation, Virtualisierung
Lizenz GPL 2
Deutschsprachig nein (Versionen ab 1.5 bieten eine deutschsprachige GTK-Bedienoberfläche)
wiki.qemu.org

QEMU (von englisch „Quick Emulator“) ist eine freie virtuelle Maschine, die die gesamte Hardware eines Computers emuliert und durch die dynamische Übersetzung der Prozessorinstruktionen des Gastprozessors in Instruktionen für den Host-Prozessor eine sehr gute Ausführungsgeschwindigkeit erreicht.

QEMU emuliert Systeme mit den folgenden Prozessorarchitekturen: x86, AMD64 und x86-64, PowerPC, ARM (32 + 64 Bit), Alpha, CRIS, LatticeMico32, m68k (Coldfire), MicroBlaze, MIPS, Moxie, SH-4, S/390, Sparc32/64, OpenRISC, Unicore und Xtensa (Stand 2013).[3][4]

QEMU ist auf den Betriebssystemen GNU/Linux, Windows, FreeBSD, NetBSD, OpenBSD, OpenSolaris, OS/2/eComStation, DOS, Mac OS X und Haiku lauffähig. Es kann den gesamten Status einer virtuellen Maschine so speichern, dass diese auf ein anderes Host-System übertragen werden kann und dort weiterlaufen kann (Live-Migration).

Unter Linux, BSD und Mac OS X unterstützt QEMU auch die "Userspace"-Emulation. Diese API-Emulation ermöglicht es, dass ausführbare Programme, die für andere dynamische Bibliotheken kompiliert wurden, im Userspace betrieben werden können. Dabei werden die Prozessoren x86, PowerPC, Alpha, ARM (32 + 64 Bit), CRIS, MicroBlaze, 32-bit MIPS, S/390, SH-4, Sparc32/64, ColdFire(m68k) und Unicore unterstützt.

Hardware-Plattformen[Bearbeiten]

x86[Bearbeiten]

QEMU mit dem freien Betriebssystem ReactOS

Für virtuelle x86-Maschinen auf x86-Rechnern steht mit kqemu[5] ein Zusatzmodul bereit, das durch die native Ausführung von geeigneten Teilen des Maschinencodes einen erheblichen Geschwindigkeitszuwachs bewirkt. Da die Weiterentwicklung seit QEMU 0.12 auf KVM fokussiert ist[6], kann das Beschleunigermodul kqemu nur in QEMU bis Version 0.11 verwendet werden.

Weiterer Geschwindigkeitszuwachs kann auf Linux-Hosts durch Verwendung der auf QEMU basierenden Kernel-based Virtual Machine (KVM) erzielt werden. Dafür ist jedoch ein Prozessor mit den Hardware-Virtualisierungstechniken von Intel (Intel VT) oder AMD (AMD-V) erforderlich.

Mittels HX DOS Extender ist QEMU auch in FreeDOS und DR-DOS lauffähig.

Emuliert wird neben dem Hauptprozessor auch:

Das verwendete PC-BIOS ist SeaBIOS vom coreboot-Projekt, das das Bochs-BIOS früherer Versionen ersetzt. Für VGA wird das Plex86-BIOS aus dem Bochs-Projekt genutzt.

PowerPC[Bearbeiten]

Als PowerPC-BIOS wird Open Hack'Ware, ein Open-Firmware-kompatibles BIOS, verwendet.

PowerMac[Bearbeiten]

QEMU emuliert die folgenden PowerMac-Peripheriegeräte:

  • UniNorth PCI Bridge
  • PCI-VGA-kompatible Grafikkarte mit VESA Bochs Extensions
  • zwei PMAC-IDE-Interfaces mit Festplatten- und CD-ROM-Unterstützung
  • NE2000-PCI-Adapter
  • Non Volatile RAM
  • VIA-CUDA mit ADB-Tastatur und -Maus

PReP[Bearbeiten]

Die PowerPC Reference Platform (PReP) bezeichnet einen Standard für PowerPC-basierte Computer und soll eine Referenz-Implementierung darstellen. PReP wurde bereits von der Common Hardware Reference Platform (CHRP) abgelöst.

QEMU emuliert die folgenden PReP-Peripheriegeräte:

  • PCI Bridge
  • PCI-VGA-kompatible Grafikkarte mit VESA Bochs Extensions
  • zwei IDE-Interfaces mit Festplatten- und CD-ROM-Unterstützung
  • Diskettenlaufwerk
  • NE2000-Netzwerkadapter
  • serielle Schnittstelle
  • PReP Non Volatile RAM
  • PC-kompatible Tastatur und Maus

Sparc[Bearbeiten]

Sun-SPARC-Architektur = (Scalable Processor ARChitecture)

Als BIOS der JavaStation (sun4m-Architektur) wurde bis Version 0.8.1 Proll[7], ein PROM-Ersatz, verwendet, in Version 0.8.2 wurde es durch OpenBIOS ersetzt.

QEMU emuliert die folgenden sun4m-Peripheriegeräte:

  • IOMMU
  • TCX Frame buffer
  • Lance (Am7990) Ethernet
  • Non Volatile RAM M48T08
  • Slave I/O: timers, interrupt controllers, Zilog serial ports

Weitere Details[Bearbeiten]

Das Starten von Live-CD- und Startdisketten-Abbildern ist problemlos möglich.

Um QEMU unter Windows zu verwenden, sind keine Administratorrechte notwendig. Auf einem USB-Stick lässt sich QEMU so als portable Software verwenden. Für die Installation eines 64-Bit-Betriebssystems unter Mac OS X ist die Rosetta-Erweiterung von Apple erforderlich.[8]

Viele Virtualisierungslösungen (KVM, VirtualBox, Xen, FAUmachine, Win4BSD, Win4Solaris, Win4Lin) nutzen Teile des Quelltextes von QEMU.

Dank der Quelloffenheit und der Konfiguration mit Startoptionen ist die Entwicklung von Werkzeug- und Hilfsprogrammen für QEMU unproblematisch. Durch den QEMU-Manager und AQEMU[9] lässt sich QEMU leicht über eine grafische Benutzeroberfläche bedienen.

Siehe auch[Bearbeiten]

Literatur[Bearbeiten]

Weblinks[Bearbeiten]

 Commons: QEMU – Album mit Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten]

  1. Übersicht der QEMU-Versionen
  2. Liste der getesteten Betriebssysteme (englisch)
  3. Emulator: Qemu 1.0 ist fertig – Artikel bei Golem.de, vom 2. Dezember 2011
  4. Qemu 1.2.0 verbessert Live Migration, Heise Zeitschriften Verlag, zugegriffen: 7. September 2012
  5. http://wiki.qemu.org/KQEMU
  6. QEMU 0.12.0-rc1 does not support KQEMU. 7. Dezember 2009, abgerufen am 10. April 2012 (englisch, Fehlermeldung bei Launchpad).
  7. Proll BIOS
  8. Virtualisierung mit Q und Qemu – Artikel bei Netzwelt.de, vom 27. Juni 2011
  9. AQEMU