Innovationsschub für die Hardware

Wie Virtualisierung die x86-Welt erneuert

Wolfgang Sommergut ist Betreiber der Online-Publikation WindowsPro.
Der Trend zur Server-Virtualisierung stellt die x86-Plattform vor Aufgaben, für die sie nicht entwickelt wurde. Hardwareanbieter müssen ihre Systeme auf die neuen Anforderungen ausrichten.

Als IBM im Jahr 1981 den ersten PC auf den Markt brachte, handelte es sich im Vergleich zu den damals dominierenden Mainframes dabei um ein primitives Gerät. So konnten Großrechner zu dieser Zeit bereits mehrere Instanzen eines Betriebssystems in separaten virtuellen Maschinen ablaufen lassen. Dagegen kam der PC mit MS-DOS, das nur ein Programm ausführen konnte und diesem noch dazu uneingeschränkten Zugriff auf alle Systemressourcen einräumte. Sicher, der neue Computer war nicht als Drehscheibe für die Datenverarbeitung vorgesehen, sondern sollte Rechenleistung für den Desktop bringen und mit neuen Office-Anwendungen die persönliche Produktivität der Mitarbeiter verbessern.

Der unvorhergesehene Siegeszug des PC machte indes nicht vor den Rechenzentren halt, so dass Design-Entscheidungen von Anno dazumal auch noch x86-Server von heute prägen. Besonders macht sich dies nun bemerkbar, da die immer leistungsfähigeren Maschinen durch Virtualisierung der Hardware besser ausgelastet werden sollen.

Trotz aller Fortschritte bei Prozessortechnik und Betriebssystemen, die zu verbesserter Parallelverarbeitung von Anwendungen (Multitasking) und mehr Schutz vor Systemabstürzen führten, gilt bis in die jüngste Zeit als Grundannahme für das x86-Konzept, dass auf einer Maschine nur eine Instanz eines Betriebssystems läuft und dass diese die volle Kontrolle über die physische Hardware erhält.

Virtualisierungsfeindliche Prozessoren

Zu den größten Hürden der PC-Virtualisierung gehörte über Jahre das Privilegienmodell der Intel-Architektur. Typischerweise dürfen nur zentrale Komponenten des Betriebssystems direkt auf die Hardware zugreifen, sie laufen auf der Stufe 0 ("Ring 0"). Am wenigsten Rechte besitzen dagegen die Anwendungen, für die der so genannte User Mode ("Ring 3") vorgesehen ist. Wenn sich mit dem Hypervisor (auch Virtual Machine Manager (VMM)) eine Softwareschicht zwischen Hardware und Gast-Betriebssysteme schiebt, dann muss dieser die Kontrolle über die CPU übernehmen und sie als gemeinsame Ressource für mehrere VMs verwalten.

Allerdings erkennen herkömmliche x86-Betriebssysteme nicht, dass sie nur auf virtueller Hardware laufen, und versuchen weiterhin, mit Hilfe von Ring-0-Instruktionen privilegierte Operationen auszuführen, die nun dem VMM vorbehalten sind. Eine virtualisierte Umgebung muss deshalb dieses Verhalten der Gäste in den Griff bekommen.