Hier geht es um die Herkunft der Redeweise "virtuell" in der Informatik |
Als virtuelle Maschine , kurz VM, wird im Kontext der sogenannten Digitalisierung ein "virtueller Computer" bezeichnet. Eine solche Maschine besteht nicht aus Hardware, sondern aus Software. Auf einem physischen Computer können gleichzeitig mehrere virtuelle Maschinen betrieben werden.
Virtuelle Maschinen werden als Betriebssystem ausgeführt, das nicht exklusiv über den Computer verfügt, oder als Laufzeitumgebung. Eine Laufzeitumgebung ist ein Modell eines Computers in Software. Sich als Betriebssystem darstellende virtuelle Maschinen können vollständig durch Software (z/VM), mit zusätzlicher Unterstützung durch Hardware und Firmware (Intel VT, AMD-V) oder allein durch Hardware und Firmware (LPAR) realisiert werden.
Stellt das Host-System keine Möglichkeit zur Verfügung, für ein bestimmtes Programm den Anwendungscode direkt auf einem Prozessor ausführen zu können, muss ein Interpreter den Anwendungscode indirekt ausführen. Benötigt bei der Virtualisierung von Hardware (VMware, QEMU) das darauf zugreifende System Schnittstellen (z. B. für Geräte und Kommunikation), die das Betriebssystem nicht bereitstellen kann, müssen diese emuliert werden.
In der Entwicklung der Rechnerarchitekturen hat sich eine Trennung der typischen VM-Modelle ergeben, mit denen Hardware-CPUs und Software-VMs entwickelt werden. Die große Mehrzahl physischer CPUs verwalten mehrere Operanden in einer beschränkten Zahl direkt adressierbarer Register (Registermaschinen), die große Mehrzahl der portablen VM-Systeme verwalten ihre Operanden in einem verschiebbaren unbeschränkten Stapel (Stapelmaschinen). Dies ergab sich durch die verschiedenen Vorteile dieser Ansätze.
Geschichte
Der Wunsch, mehrere Betriebssysteme gleichzeitig auf einem Rechner betreiben zu können, war die ursprüngliche Motivation zur Einführung systembasierter virtueller Maschinen. IBMs 1966 erstmals veröffentlichte CP/CMS war das erste Betriebssystem, welches vollständige Virtualisierung unterstützte und es dadurch mehreren Benutzern erlaubte, gleichzeitig auf einem physischen Rechner jeweils ein eigenes Einzelbenutzerbetriebssystem unabhängig zu nutzen.
In ihrem Artikel Formal Requirements for Virtualizable Third Generation Architectures von 1974 legten Gerald J. Popek and Robert P. Goldberg die formalen Grundlagen und stellen die grundlegenden Anforderungen an eine Architektur dar, um virtuelle Maschinen mit Hilfe eines Hypervisors zu unterstützen.