QEMU – virtuelle Maschine

  1. Startseite
  2. Betriebssystem
  3. QEMU – virtuelle Maschine

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 und Sparc32/64.

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 und dort weiterlaufen lassen (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.

Details

Das Starten von Live-CD- und Boot-Disketten-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. Viele Virtualisierungslösungen (KVM, VirtualBox, Xen, FAUmachine, Win4BSD, Win4Solaris, Win4Lin) nutzen Teile des Source-Codes von QEMU.

Dank der Offenheit des Source-Codes und der Konfiguration mit Startoptionen ist die Entwicklung von Tools für QEMU unproblematisch. Durch QEMU-Manager und AQEMU[3] lässt sich QEMU leicht über eine grafische Benutzeroberfläche bedienen.

Hardware-Plattformen

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.

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-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

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

Quelle: Wikipedia (http://de.wikipedia.org/wiki/QEMU)

error: Content is protected !!