QEMU
| QEMU | |
|---|---|
| Entwickler | Fabrice Bellard |
| Aktuelle Version | 1.0[1] (1. Dezember 2011) |
| 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/BSD |
| Deutschsprachig | nein |
| www.qemu.org | |
QEMU (von englisch „Quick Emulator“) ist eine freie virtuelle Maschine, die die komplette Hardware eines Computers emuliert und durch die dynamische Übersetzung der Prozessor-Instruktionen für den Gast-Prozessor in Instruktionen für den Host-Prozessor eine sehr gute Ausführungsgeschwindigkeit erreicht.
QEMU emuliert derzeit Systeme mit den folgenden Prozessorarchitekturen: x86, AMD64 und x86-64, PowerPC, ARM, Alpha, m68k (Coldfire), MicroBlaze, MIPS, S/390 und Sparc32/64.[3]
QEMU ist auf den Betriebssystemen GNU/Linux, Windows, FreeBSD, NetBSD, OpenBSD, OpenSolaris, OS/2/eComStation, DOS, Mac OS X und Haiku lauffähig, kann den gesamten Status einer virtuellen Maschine speichern und auch ohne die Maschine anzuhalten auf ein anderes Host-System übertragen werden und läuft dort weiter (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, ARM, 32-bit MIPS, Sparc32/64 und ColdFire(m68k) unterstützt.
Inhaltsverzeichnis |
[Bearbeiten] Hardware-Plattformen
[Bearbeiten] x86
Für virtuelle x86-Maschinen auf x86-Rechnern steht mit kqemu[4] ein Zusatzmodul bereit, das einen erheblichen Geschwindigkeitszuwachs bewirkt. Es wird allerdings von der aktuellen Weiterentwicklung nicht mehr unterstützt, da diese auf KVM fokussiert.[5] Das Beschleuniger-Modul kqemu ist daher nur in QEMU bis Version 0.11 verwendbar.
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 ISO-Abbild oder 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)
Das verwendete PC-BIOS ist SeaBIOS des coreboot Projekts, welche das in früheren Versionen verwendete Bochs BIOS ersetzt. Für VGA wird/wurde das Plex86-Bios aus dem Bochs-Projekt verwendet.
[Bearbeiten] PowerPC
Als PowerPC-BIOS wird Open Hack'Ware, ein Open-Firmware-kompatibles BIOS, verwendet.
[Bearbeiten] 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
[Bearbeiten] PReP
Die PowerPC Reference Platform (PReP) bezeichnet einen Standard für PowerPC-basierte Computer und soll eine Referenz-Implementation 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
[Bearbeiten] Sparc
Sun-SPARC-Architektur = (Scalable Processor ARChitecture)
Als BIOS der JavaStation (sun4m-Architektur) wurde bis Version 0.8.1 Proll[6], 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
[Bearbeiten] 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.[7]
Viele Virtualisierungslösungen (KVM, VirtualBox, Xen, FAUmachine, Win4BSD, Win4Solaris, Win4Lin) nutzen Teile des Source-Codes 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[8] lässt sich QEMU leicht über eine grafische Benutzeroberfläche bedienen.
[Bearbeiten] Siehe auch
[Bearbeiten] Literatur
- Warnke, Ritzau: qemu-kvm & libvirt . 2010, ISBN 978-3-8370-0876-0.
[Bearbeiten] Weblinks
[Bearbeiten] Einzelnachweise
- ↑ Übersicht der QEMU-Versionen
- ↑ Liste der getesteten Betriebssysteme (englisch)
- ↑ Emulator: Qemu 1.0 ist fertig – Artikel bei Golem.de, vom 2. Dezember 2011
- ↑ http://wiki.qemu.org/KQEMU
- ↑ QEMU 0.12.0-rc1 does not support KQEMU (englisch) – Fehlermeldung bei Launchpad, vom 7. Dezember 2009
- ↑ Proll BIOS
- ↑ Virtualisierung mit Q und Qemu – Artikel bei Netzwelt.de, vom 27. Juni 2011
- ↑ AQEMU