QEMU
QEMU | |
---|---|
Logo | |
Entwickler | Fabrice Bellard |
Aktuelle Version | 2.5.0<ref>QEMU. News. In: QEMU Website. Abgerufen am 17. Dezember 2015 (english). </ref> (16. Dezember 2015) |
Betriebssystem | Windows, GNU/Linux, BSD, Mac OS X, OS/2/eComStation, Haiku, DR-DOS und FreeDOS mittels HX DOS Extender<ref>Liste der getesteten Betriebssysteme (englisch)</ref> |
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, TriCore, OpenRISC, Unicore und Xtensa (Stand 2015).<ref>Emulator: Qemu 1.0 ist fertig – Artikel bei Golem.de, vom 2. Dezember 2011</ref><ref>Qemu 1.2.0 verbessert Live Migration, Heise Zeitschriften Verlag, zugegriffen: 7. September 2012</ref>
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.
Inhaltsverzeichnis
Hardware-Plattformen
x86
Für virtuelle x86-Maschinen auf x86-Rechnern steht mit kqemu<ref>http://wiki.qemu.org/KQEMU</ref> 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<ref>QEMU 0.12.0-rc1 does not support KQEMU. 7. Dezember 2009, abgerufen am 10. April 2012 (english, Fehlermeldung bei Launchpad). </ref>, 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:
- CD-ROM/DVD-Laufwerk über ein ISO-Abbild oder ein reales Laufwerk
- Diskettenlaufwerk
- Grafikkarte (Cirrus CLGD 5446 PCI VGA-Karte oder Standard-VGA-Grafikkarte mit Bochs-VESA-BIOS-Extensions – Hardware Level, inklusive aller Nichtstandardmodi, über einen experimentellen Patch auch mit einer vereinfachten 3D-Beschleunigung per OpenGL)
- Netzwerkkarte (NE2000-PCI-Netzwerkadapter) und ein DHCP-Server
- Parallel-Schnittstelle
- Systemlautsprecher
- zwei PCI-ATA-Schnittstellen mit Unterstützung für maximal vier Festplatten-Abbilder im eigenen Format oder im Format von VMware, VirtualPC, Bochs, Knoppix (cloop) und dd (Rohformat)
- PCI und ISA-System (i440FX host PCI bridge und PIIX3 PCI to ISA bridge)
- PS/2-Maus und -Tastatur
- Serielle Schnittstelle
- Soundkarte (Soundblaster 16, ES1370 PCI, GUS)
- USB-Controller (Intel SB82371, UHCI; siehe USB#Die verschiedenen Host-Controller)
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
Als PowerPC-BIOS wird Open Hack'Ware, ein Open-Firmware-kompatibles BIOS, verwendet.
PowerMac
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
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
Sun-SPARC-Architektur = (Scalable Processor ARChitecture)
Als BIOS der JavaStation (sun4m-Architektur) wurde bis Version 0.8.1 Proll<ref>Proll BIOS</ref>, 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
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.<ref>Virtualisierung mit Q und Qemu – Artikel bei Netzwelt.de, vom 27. Juni 2011</ref>
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<ref>AQEMU</ref> lässt sich QEMU leicht über eine grafische Benutzeroberfläche bedienen.
Siehe auch
Literatur
- Robert Warnke, Thomas Ritzau: qemu-kvm & libvirt. 2010, ISBN 978-3-8370-0876-0.
Weblinks
Einzelnachweise
<references />