VirtualBox

Virtualisierungssoftware
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 30. April 2007 um 11:00 Uhr durch Takeru-kun (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

VirtualBox ist eine von der Firma innotek entwickelte virtuelle Maschine (VM) für 32-Bit-x86-Systeme, die als Hostbetriebssystem Windows, Mac OS X oder Linux (Kernel 2.4 oder 2.6) einsetzen. Als Gastsysteme werden neben diesen zusätzlich noch OS/2, DOS-basierte Betriebssysteme, Linux (Kernel 2.2), L4, NetWare sowie diverse BSD-Derivate unterstützt.

VirtualBox

Basisdaten

Entwickler innotek
Erscheinungsjahr 15. Januar 2007
Aktuelle Version 1.3.8
(14. März 2007)
Betriebssystem Microsoft Windows, Linux, Mac OS X
Programmier­sprache C[1], C++[2], Python[2], Assemblersprache[2]
Kategorie Emulation, Virtualisierung
Lizenz GPL / proprietär
deutschsprachig ja
VirtualBox.org

VirtualBox für Mac OS X und 64-Bit-Systeme befindet sich zur Zeit noch im Betastadium und basiert auf der nächsten Version von VirtualBox (1.4).

VirtualBox wird in zwei Versionen angeboten: VirtualBox mit allen Features unter proprietärer Lizenz, die für private Zwecke kostenfrei genutzt werden darf und VirtualBox Open Source Edition (OSE) mit weniger Features, welche unter GNU General Public License steht.

innotek arbeitete zusammen mit Connectix am funktionsähnlichen Produkt Virtual PC, das 2003 von Microsoft aufgekauft wurde. Seitdem widmete sich innotek vornehmlich dem Linux-Support in Virtual PC und Virtual Server.

Eigenschaften

Festplatten werden in Containern, sog. Virtual Disk Images (VDI) emuliert, welche allerdings inkompatibel mit denen von anderen virtuellen Maschinen sind. Daneben erlaubt VirtualBox iSCSI-Objekte ebenfalls als virtuelle Festplatten zu nutzen (nicht in der GPL-Version möglich).

VirtualBox emuliert im Gastsystem u. a. folgende Komponenten:

  • VESA-kompatible Karte
  • Intel-Chipsatz 440FX (Natoma)
  • die Netzwerkkarte AMD 79C973 (PCnet II)
  • Intel-AC97-Sound
  • ACPI- und I/O-APIC-Unterstützung
  • virtuelle USB-Unterstützung (auch ohne Hostsystem-Unterstützung)
  • Bootvorgang aus dem Netzwerk mit PXE
  • iSCSI-Unterstützung zu iSCSI-Servern durch das Hostsystem ohne Emulation

Die Grafikauflösung ist je nach System auf 800x600 oder 1024x768 Pixel beschränkt, lässt sich aber nachträglich erhöhen.

Die VMs lassen sich wahlweise über mehrere Frontends bedienen:

  • eine grafische Benuteroberfläche (GUI), die die Grafikbibliothek Qt benutzt, in der aber noch nicht alle Optionen des Konsolenprogramms implementiert sind (VirtualBox)
  • ein Konsolenprogramm (VBoxManage)
  • ein SDL-Programm (VBoxSDL)
  • einen Remote-Desktop-Protocol-Server, der in der Konsole läuft (VBoxVRDP)

VirtualBox versucht, so viel Code wie möglich nativ auszuführen. In den meisten Fällen läuft Ring-3-Code des Gast-Systems nativ auf dem Host-System. Versucht das Gast-System, Ring-0-Code auszuführen, führt das Host-System diesen stattdessen im Ring 1 aus (der normalerweise nicht genutzt wird). Wenn es nicht möglich sein sollte, Code nativ auszuführen, muss dieser von einem Emulator ausgeführt werden, der auf dem Quellcode von QEMU basiert.

Die Virtualisierungserweiterungen der aktuellen Intel-CPUs mit der Bezeichnung VT-x werden voll unterstützt. Der Support für AMDs Pendant namens AMD-V ist jedoch noch experimentell. Standardmäßig werden die Techniken aber nicht genutzt; selbst wenn sie vom Benutzer aktiviert wurden, kommen sie wegen geringen Vorteilen und geringerer Geschwindigkeit selten zum Einsatz. Momentan besteht der Hauptnutzen darin, Gastsysteme auszuführen mit denen die Softwarevirtualisierung von VirtualBox nicht oder noch nicht vollständig kompatibel ist.

Guest Additions

Guest Additions erweitern die Integration zwischen Host- und Gastsystem und müssen innerhalb der VM installiert werden. Für diese erscheinen die Guest Additions als CD-Laufwerk und liegen für Windows als Binärdaten und Linux als Quellcode vor; andere Betriebssysteme werden nicht unterstützt. Erweitert werden dabei folgende Komponenten:

  • die Grafikauflösung wird auf 64000x64000 Pixel in 32-Bit-Farbtiefe erweitert, d. h. auch der Mehrschirmbetrieb wird unterstützt
  • das Hostsystem kann Verzeichnisse für Gastsysteme freigeben (Shared Folders)
  • der Mauszeiger kann aus dem Fenster der VM "herausgezogen" werden, ohne die "Host-Taste" benutzen zu müssen
  • exakte Zeit-Synchronisation zwischen Host- und Gastsystem
  • automatisierte Windows-Logons (VBoxGINA)

Open-Source- vs. proprietäre Version

Einige Features, die nur in der proprietären Version erhältlich sind:

  • virtuelle USB-Geräte, die man im Gastsystem benutzen kann, obwohl auf dem Hostsystem keine entsprechenden Treiber vorliegen
  • das Remote Desktop Protocol (RDP) wird vollständig unterstützt und erlaubt einer VM einen RDP-Server zu betreiben
  • USB über RDP, das einem RDP-Server in einer VM erlaubt, USB-Geräte von Thin-Clients zu benutzen
  • Verzeichnisse, die das Hostsystem für das Gastsystem freigeben kann (Shared Folders)
  • iSCSI-Unterstützung für virtuelle Festplatten, ohne dass das Gast-System iSCSI unterstützen muss

Der Hersteller hat angekündigt, dass Funktionen von der proprietären Edition schrittweise in die Open-Source-Version übergehen sollen. In naher Zukunft sollen dies die USB-Unterstützung und die Shared Folders sein.

Siehe auch

  1. The virtualbox Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 14. Juli 2018).
  2. a b c Language Breakdown. (englisch, abgerufen am 26. Juli 2018).