Crashkurs: Wie funktionieren eigentlich virtuelle PCs?

Mit virtuellen Umgebungen (VMs) wie Hyper-V, Vmware, Virtualbox und andere Lösungen lassen sich mehrere Betriebssysteme gleichzeitig ausführen. So kommt das System ins System und man erhält etwa Test- und Entwicklungsumgebungen. [...]

PROZESSOREN VON AMD UND INTEL: RINGE REGELN DIE PRIVILEGIEN
Ganz gleich, welche Methode der Virtualisierung zum Einsatz kommt, eins ist allen gemeinsam: Einige Befehle, die das Gastsystem an die CPU sendet, müssen über die Virtualisierungsschicht abgefangen werden. Der Grund liegt im Design der x86-CPUs von Intel und AMD. Lediglich das zuerst gestartete Betriebssystem darf privilegierte CPU-Instruktionen verwenden, die später gestarteten Anwendungen dagegen nicht. Schließlich soll das Betriebssystem die Kontrolle darüber behalten, was Anwendungen anstellen. Der privilegierte Zugriff findet im „Ring 0“ der CPU statt, auch „Kernel-Mode“ genannt. Dieser Ring umfasst den direkten Zugriff auf Interrupts und Speicher.

Die internen Privilegien einer x86-CPU sind historisch bedingt in Ringe eingeteilt. Nur im Ring 0 (Kernel-Modus) darf ein Betriebssystem nach Belieben schalten und walten. (c) tecchannel.de

Die Ringe darüber, Ring 1, 2 und 3, gehören alle zum „User-Mode“. Betriebssystemtreiber dürfen zum Beispiel in Ring 1 und 2 arbeiten. Normale Programme im Betriebssystem arbeiten nur ab Ring 3. Ein Problem dieser historisch bedingten Prozessoreinteilung ist, dass ein Virtualisierer zwar als Programm im Ring 3 läuft, dort aber Gastbetriebssysteme ausführen muss. Dies ist allerdings nicht ohne Weiteres möglich, weil Betriebssysteme stets Code enthalten, der nur im Ring 0 funktioniert.

Die prozessornahen Assembler-Befehle „CLI“ (Clear Interrupts) und „STI“ (Set Interrupts) zur Interrupt-Steuerung laufen etwa in den höheren Ringen des User-Modes nicht und die CPU verweigert deren Ausführung. Da ein Betriebssystem wie Windows oder der Linux-Kernel in der Annahme programmiert ist, dass es auf Ring 0 läuft, funktioniert es außerhalb des Kernel-Modes überhaupt nicht.

DER HYPERVISOR ÜBERSETZT DIE JEWEILIGEN SYSTEMANFRAGEN
Damit die virtuellen Systeme trotzdem laufen, bedienen sich Virtualisierungsumgebungen eines Tricks: Jeder Befehl einer virtuellen Maschine wird vom Hypervisor analysiert und die Befehle werden bei Bedarf umgebaut, damit sie im Ring 3 ausgeführt werden. Frühe Virtualisierungsprogramme erledigten dies noch ausschließlich über Software und waren gut damit beschäftigt, das Gastsystem stabil zu halten, was auch nicht immer gelang. VMs in den Zeiten der Vmware Workstation 3.x waren langsam und ressourcenhungrig.

Mit aktuellen Hypervisoren stellen Geschwindigkeit und Stabilität kein Problem mehr dar – allerdings müssen die Software-Hersteller von Virtualisierungslösungen für neue Windows-Versionen immer wieder Updates bereitstellen, damit diese als Gast laufen. Auf einer alten Version von Virtualbox läuft zum Beispiel Windows 8/8.1 nicht zufriedenstellend. Das liegt daran, dass Betriebssysteme verschiedene Anpassungen verlangen, damit Befehle für den Ring 0 auch im Ring 3 laufen. Bei Virtualbox und Vmware müssen Sie daher immer den Typ des Gastsystems angeben, wenn Sie einen neuen virtuellen PC erstellen. Sie müssen etwa vorgeben, um welche Windows-Version es sich handelt und ob das System für die 32-Bit- oder 64-Bit-Plattform vorliegt. Nach diesen Angaben entscheidet der Hypervisor, welche Prozessorbefehle übersetzt werden müssen.


Mehr Artikel

News

KI in der Softwareentwicklung

Der “KI Trend Report 2025” von Objectbay liefert Einblicke, wie generative KI entlang des Software Engineering Lifecycle eingesetzt wird. Dafür hat das Linzer Softwareentwicklungs-Unternehmen 9 KI-Experten zu ihrer Praxiserfahrung befragt und gibt Einblicke, wie der Einsatz von KI die IT-Branche verändert wird. […]

News

F5-Studie enthüllt Lücken im Schutz von APIs

APIs werden immer mehr zum Rückgrat der digitalen Transformation und verbinden wichtige Dienste und Anwendungen in Unternehmen. Gerade im Zusammenhang mit kommenden KI-basierten Bedrohungen zeigt sich jedoch, dass viele Programmierschnittstellen nur unzureichend geschützt sind. […]

News

VINCI Energies übernimmt Strong-IT

VINCI Energies übernimmt Strong-IT in Innsbruck und erweitert damit das Leistungsspektrum seiner ICT-Marke Axians. Strong-IT schützt seit mehr als zehn Jahren Unternehmen gegen digitale Bedrohungen, während Axians umfassende IT-Services einbringt. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*