Die virtuelle Maschine ist im Grunde ein Organisationsprinzip – ein “so tun, als ob„. Das Hauptproblem: mehrere Programme sollen gleichzeitig auf einem einzigen Prozessor laufen. Das ist grundsätzlich nur durch zeitliche Verschachtelung möglich. Das erste Programm läuft eine gewisse Zeit, dann das zweite usw. Das Zuteilen der Laufzeit und das Umschalten zwischen den Anwendungsprogrammen ist herkömmlicherweise Sache des Betriebssystems. Beim üblichen PC ist es so, dass unter Steuerung eines Betriebssystems (z. B. Windows oder Linux) mehrere Anwendungen gleichzeitig genutzt werden können. Manchmal möchte man aber auch mit mehreren Betriebssystemen gleichzeitig arbeiten. Das betrifft nicht nur die Nutzung verschiedener, sondern auch den Einsatz mehrerer gleichartiger Systeme.
Eine solche Betriebsweise hat vor allem dann Vorteile, wenn Anwendungen auf das System zurückwirken können.
Diese Lösung ist aber – auch bei den heutigen Computerpreisen – recht kostspielig. Der Grundgedanke der virtuellen Maschine besteht nun darin, durch ein übergeordnetes Steuerprogramm (und einige Kniffe in der Hardware) jedem Betriebssystem scheinbar einen kompletten Prozessor zur Verfügung zu stellen. Diese Vorkehrungen schalten den einzelnen Prozessor zwischen den verschiedenen Systemen in ähnlicher Weise um wie das Betriebssystem die einzelnen Anwendungen.