Zum Inhalt springen

VirtualBox

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 17. Dezember 2007 um 02:43 Uhr durch Marcus Schätzle (Diskussion | Beiträge) (Weblinks). Sie kann sich erheblich von der aktuellen Version unterscheiden.
VirtualBox

Basisdaten

Entwickler innotek
Erscheinungsjahr 15. Januar 2007
Aktuelle Version 1.5.2
(18. Oktober 2007)
Betriebssystem Linux, Mac OS X, andere (z.B. Windows XP)
Programmier­sprache C[1], C++[2], Python[2], Assemblersprache[2]
Kategorie Emulation, Virtualisierung
Lizenz GPL / proprietär
deutschsprachig ja
VirtualBox.org

VirtualBox ist eine von der deutschen Firma innotek entwickelte virtuelle Maschine (VM) für 32-Bit- und 64-Bit-x86-Systeme, die als Hostbetriebssystem Linux (Kernel 2.4 oder 2.6), Mac OS X oder Windows einsetzt. 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.

Überblick

VirtualBox wird in zwei Versionen angeboten: VirtualBox mit allen Merkmalen unter proprietärer Lizenz (PUEL[3]), welche für persönliche Zwecke sowie zu jeglicher Verwendung in Bildungseinrichtungen kostenfrei genutzt werden darf, und VirtualBox Open Source Edition (OSE) mit weniger Merkmalen, welche unter der GNU General Public License steht. Die proprietäre Lizenz erlaubt zusätzlich das Testen (engl. evaluation) des Produktes für einen „vernünftigen“ Zeitraum, ohne diesen jedoch genauer einzuschränken als „normalerweise ein paar Wochen“.

Die Firma 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. virtuellen Plattenabbildern (engl. “Virtual Disk Images (VDI)”) emuliert, welche allerdings inkompatibel mit denen anderer virtuellen Maschinen sind. Daneben erlaubt VirtualBox auch das Einbinden von Festplattendateien mit der Endung „.vmdk“ von VMware-Virtualisierungsprodukten, ebenso können iSCSI-Objekte als virtuelle Festplatten genutzt werden (derzeit in der Open Source Edition nicht 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
  • serielle Schnittstellen (auch ohne Hostsystem-Unterstützung)

Die Grafikauflösung ist je nach System auf 800×600 oder 1024×768 Pixel beschränkt, lässt sich aber bei vielen Gastbetriebssystemen mithilfe entsprechender Treiber aus den Gasterweiterungen nachträglich erhöhen.

Die VMs lassen sich wahlweise über mehrere Frontends bedienen:

  • eine grafische Benutzeroberflä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 geringer Vorteile 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.

Seit der Version 1.4 vom 6. Juni 2007 werden auch 64-Bit-Linux-Systeme und Mac OS X unterstützt. Zudem können nun auch, neben dem direkten Zugriff physikalischer Festplatten und Partitionen, die Festplattendateien (mit der Endung „.vmdk“) der VMware-Virtualisierungsprodukte direkt genutzt werden. Neu ist auch die Unterstützung für serielle Ports. USB-Geräte können nun dynamisch einer virtuellen Maschine zugewiesen und auch wieder an das Wirtssystem zurückgegeben werden. Der Zugriff auf die Gastsysteme in den virtuellen Maschinen ist nun über den integrierten RDP-Server dank Session-Shadowing von mehreren RDP-Clients aus gleichzeitig möglich.[4]

Ab Version 1.5 vom 31. August 2007 unterstützt VirtualBox auch 64-Bit-Windows XP als Wirtsystem. Neben weiteren Fehlerbehebungen sind virtuelle serielle Schnittstellen, Intel PXE 2.1-Netzwerk-Boot-Fähigkeit, die Gasterweiterungen für OS/2 Warp und der nahtlose Fenstermodus (engl. seamless windows) hinzugekommen, mit dessen Hilfe Fenster des emulierten Windows-Gastsystems in das Wirtsystem integriert und somit auf dem selben Desktop wie die restlichen Programmfenster des Gastsystems platziert werden können.

Gasterweiterungen

Die nur in englischer Sprache verfügbaren Gasterweiterungen (engl. “Guest Additions”) von VirtualBox erweitern die Integration zwischen Host- und Gastsystem. Diese liegen für Windows ab "Windows 2000" und OS/2 Warp als Binärdaten (als eine Art Treiber-CD) und für Linux als Quellcode vor und werden im virtuellen CD-Laufwerk innerhalb der VM bereitgestellt.

Die folgenden Komponenten werden dabei erweitert:

  • die Grafikauflösung wird auf maximal 64000x64000 Pixel in 32-Bit-Farbtiefe erweitert; der Mehrschirmbetrieb wird somit unterstützt
  • die Grafikauflösung wird sofort an die Fenstergröße im Host angepasst
  • Hostsystem und Gastsystem können Ordner gegenseitig freigeben bzw. synchronisieren (mono- und bidirektionaler Datentransfer) (Gemeinsame Ordner)
  • der Mauszeiger kann das Fenster der VM verlassen, ohne die „Host-Taste“ benutzen zu müssen
  • exakte Zeit-Synchronisation zwischen Host- und Gastsystem
  • automatisierte Windows-Anmeldungen (mittels VBoxGINA)

Für Windows-Versionen der 9x-Linie und andere Betriebssysteme gibt es die Gasterweiterungen derzeit nicht.

Open-Source- vs. proprietäre Version

Einige Merkmale, 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
  • 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 soll dies die USB-Unterstützung sein.

Siehe auch

Produkte, die in direkter Konkurrenz zu VirtualBox stehen:

Weitere Virtualisierungsprodukte:


Quellen

  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).
  3. VirtualBox Personal Use and Evaluation License (PUEL)
  4. Virtualisierer VirtualBox aktualisiert – Artikel von heise online, vom 6. Juni 2007