QEMU
| Skriptfehler: Ein solches Modul „WLink“ ist nicht vorhanden.
| |
|---|---|
| colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Logo | |
| Basisdaten
| |
| Maintainer | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Entwickler | Fabrice Bellard u. v. m. |
| Erscheinungsjahr | 2003 |
| Aktuelle Version | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.) |
| Aktuelle Vorabversion | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. (Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.) |
| Betriebssystem | Windows, GNU/Linux, BSD, macOS, Haiku<ref>Liste der unterstützten Betriebssysteme (englisch)</ref> |
| Programmiersprache | Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden. |
| Kategorie | Emulation, Virtualisierung |
| Lizenz | GPL 2 |
| deutschsprachig | ja |
| https://www.qemu.org/ | |
QEMU (von englisch „Quick Emulator“) ist eine freie Virtualisierungssoftware, die die gesamte Hardware eines Computers emuliert und durch die dynamische Übersetzung der Prozessorinstruktionen des Gastprozessors (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.) in Instruktionen für den Wirtprozessor (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.) eine sehr gute Ausführungsgeschwindigkeit erreicht.
QEMU emuliert Systeme mit den folgenden Prozessorarchitekturen: x86 (x86-32 und x86-64), PowerPC (32- und 64-Bit), ARM (32- und 64-Bit), Alpha, CRIS, HPPA, LatticeMico32, m68k bzw. Coldfire, MicroBlaze, MIPS, Moxie, Nios II, SH-4, S/390, Sparc32/64, TILE-Gx, TriCore, OpenRISC, RISC-V, Unicore und Xtensa (Stand 2019).<ref>QEMU Dokumentation – QEMU wiki zugegriffen 28. November 2019</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, macOS (Mac OS X, nicht klassisches Mac OS) und Haiku lauffähig. Es kann den gesamten Status einer virtuellen Maschine so speichern, dass diese auf ein anderes Wirtsystem (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.) übertragen werden und dort weiterlaufen kann (Live-Migration).
Unter Linux, BSD und macOS unterstützt QEMU auch die „Userspace“-Emulation. Diese ermöglicht es, dass Programme, die für eine andere Architektur kompiliert wurden, im Userspace betrieben werden können. Dabei werden die Prozessoren x86, PowerPC (32- und 64-Bit), Alpha, ARM (32- und 64-Bit), CRIS, MicroBlaze, 32-Bit-MIPS, S/390, SH-4, Sparc32/64, m68k/ColdFire und Unicore unterstützt.
Hardware-Plattformen[Bearbeiten]
x86[Bearbeiten]
Aktuelle Versionen von QEMU nutzen Hardware-Virtualisierung – auf Linux-Hosts die Kernel-based Virtual Machine (KVM), die Prozessoren mit den Hardware-Virtualisierungstechniken von Intel (Intel VT) oder AMD (AMD-V) unterstützt. Für macOS und Windows steht mit dem Intel Hardware Accelerated Execution Manager (HAXM) eine vergleichbare Lösung zur Verfügung. Auch Microsofts Windows Hypervisor Platform Accelerator (WHPX) kann verwendet werden. Damit erreicht QEMU auf allen gängigen Desktop-Betriebssystemen eine sehr gute Geschwindigkeit.
Für virtuelle x86-Maschinen auf x86-Rechnern stand mit kqemu<ref>Documentation/KQemu</ref> ein Zusatzmodul bereit, das durch die native Ausführung von geeigneten Teilen des Maschinencodes einen erheblichen Geschwindigkeitszuwachs bewirkte. Da die Weiterentwicklung seit QEMU 0.12 auf KVM fokussiert ist<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden. ehemals im Vorlage:Referrer (nicht mehr online verfügbar) (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden., Fehlermeldung bei Launchpad).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>, kann das Beschleunigermodul kqemu nur in QEMU bis Version 0.11 verwendet werden.
Mittels HX DOS Extender war 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 QCOW-Format oder im Format von VMware, u. a. VirtualPC (das VHD-Format), 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 (Sound Blaster 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[Bearbeiten]
Als PowerPC-Firmware wird Open Hack'Ware, eine Open-Firmware-kompatible Firmware, 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 Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. (PReP) bezeichnet einen Standard für PowerPC-basierte Computer und soll eine Referenz-Implementierung darstellen. PReP wurde bereits von der Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. 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<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
Gasterweiterungen[Bearbeiten]
Ähnlich wie für andere Virtualisierungslösungen wie VirtualBox stehen auch für QEMU sogenannte Gasterweiterungen (englisch Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.) für verschiedene Gastbetriebssysteme zur Verfügung. Sie dienen dazu, die Integration zwischen Wirt- und Gastsystem zu erweitern bzw. Funktion und Datendurchsatz zu verbessern. Beispielsweise kann durch die Gasterweiterung Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden. im laufenden Betrieb des Gastsystems eine Gesamtsicherung durchgeführt werden: Um ein konsistentes Abbild des Gastsystems zu erzeugen, ist es nicht mehr nötig, dieses erst zu stoppen, dann zu sichern, und schließlich neu zu starten. Andere Erweiterungen stellen virtuelle Hardwareschnittstellen wie spezielle Netzwerkkarten oder SATA-Schnittstellen zur Verfügung. Durch die spezielle Gestaltung dieser virtuellen Schnittstellen kann ein höherer Datendurchsatz erzielt werden. Während Linux und die meisten üblichen Linuxdistributionen diese Gasterweiterungen und Unterstützung für virtuelle Geräte im Gastsystem automatisch mitbringen bzw. die Nachinstallation aus der jeweiligen Distribution erlauben, sind für Gastsysteme wie Windows die sogenannten Virtio-Treiber extra zu installieren.<ref name="virtio" />
Bei Verwendung von SPICE als Konsolenschnittstelle – SPICE wird von QEMU seit dem Jahr 2010 direkt unterstützt – erlauben die SPICE-Gasterweiterungen bei grafischen Oberflächen im Gastsystem beispielsweise, beliebige Grafikauflösungen in der virtuellen Grafikkarte durch die Wahl der Fenstergröße am Ausgabegerät vorzugeben.<ref name="spiceguest" />
Weitere Details[Bearbeiten]
Das Starten von Live-CD- und Startdisketten-Abbildern ist 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.
Viele Virtualisierungslösungen (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><templatestyles src="Webarchiv/styles.css" />Vorlage:Webarchiv/WaybackVorlage:Webarchiv/archiv-botSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplUtl“ ist nicht vorhanden.</ref> lässt sich QEMU über eine grafische Benutzeroberfläche bedienen.
QEMU ist ein Mitglied der Software Freedom Conservancy.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Siehe auch[Bearbeiten]
Literatur[Bearbeiten]
- Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.
Weblinks[Bearbeiten]
- QEMU documentation (englisch)
- QEMU Binaries für Windows (englisch)
Einzelnachweise[Bearbeiten]
<references> <ref name="virtio"> Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden. </ref> <ref name="spiceguest"> Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden. </ref> </references>
- Seiten mit Skriptfehlern
- Seiten mit defekten Dateilinks
- Wikipedia:Vorlagenfehler/Parameter:Datum
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
- Wikipedia:Vorlagenfehler/Parameter:Linktext
- Freie Virtualisierungssoftware
- Linux-Software
- Freier Emulator
- Abkürzung
- MacOS-Virtualisierungs- und -Emulator-Software
- Windows-Software
- BSD-Software