EMZETT.
Login

Virtuelle Maschine (VM)

Kurz: Eine virtuelle Maschine ist ein Computer, der nur als Software existiert. Sie verhält sich wie echte Hardware, läuft aber als Programm auf einem anderen Rechner. Der Begriff hat zwei Bedeutungen: System-VM und Prozess-VM.

Genauer: Eine System-VM (VirtualBox, VMware, KVM, Hyper-V) simuliert einen ganzen PC samt Betriebssystem. Eine Prozess-VM (JVM, .NET CLR) führt dagegen nur ein einzelnes Programm in einer abstrakten Umgebung aus.

Im Detail

System-VMProzess-VM
BeispieleVirtualBox, VMware, KVM, Hyper-V, QEMUJVM, CLR, BEAM, Dalvik/ART
Simuliertganzen Computer inkl. Betriebssystemeine Laufzeitumgebung für ein Programm
Lebensdauersolange die VM läuftsolange das Programm läuft
Zweckmehrere Betriebssysteme, Server teilen, TestumgebungenPlattformunabhängigkeit, Sicherheit, Speicherverwaltung

Bei der System-VM übernimmt ein Hypervisor die Verteilung von CPU, Speicher und Geräten:

  • Typ 1 („bare metal”): läuft direkt auf der Hardware (KVM, Xen, ESXi, Hyper-V). Üblich in Rechenzentren.
  • Typ 2: läuft als Programm im normalen Betriebssystem (VirtualBox, VMware Workstation).
  • Hardware-Unterstützung: Intel VT-x / AMD-V machen die Virtualisierung fast so schnell wie echte Hardware.

Vorteile: Isolation (ein Absturz oder Virus bleibt in der VM), Snapshots (Zustand sichern und zurückspielen), einfaches Kopieren und Verschieben, bessere Auslastung der Server, Testen ohne Risiko.

Nachteile: Leistungsverlust (kleiner), Speicherbedarf (jede VM hat ein volles Betriebssystem), Verwaltungsaufwand.

  • Abgrenzung zu Containern: Container (Docker) teilen sich den Kernel des Hosts und sind deutlich leichter. VMs trennen stärker.
  • Emulation: Wenn die VM eine andere Prozessorarchitektur nachbildet (QEMU ARM auf x86), ist sie deutlich langsamer.
  • Cloud: Mietserver bei AWS, Azure oder Hetzner sind in aller Regel virtuelle Maschinen.
  • Typische Aufgaben: Linux ausprobieren, alte Software betreiben, Malware sicher analysieren, Entwicklungsumgebung.

Siehe auch: Sandbox, JVM (Java Virtual Machine), Kernel (Betriebssystemkern)