So wird Ihr System besser
Geheimes Windows-Wissen für Profis
Modulare Architektur mit Subsystemen
Seit die DOS-Ära vorbei ist, darf kein Programm mehr direkt mit der Hardware reden - etwa um einen Ausdruck zu starten oder etwas auf den Bildschirm zu bringen. Windows XP und Vista sind Bestandteile der NT-Linie von Windows und besitzen einen modularen Aufbau. Die unterste Ebene ist der Hardware Abstraction Layer (HAL). Er bildet die Schnittstelle zwischen Hardware und dem eigentlichen Betriebssystem-Kern, der sich um Speicher- und CPU-Zuordnung kümmert.
Darauf bauen die Subsysteme auf. Das wichtigste davon ist das Win32-Subsystem, das alle Windows-Prozesse verwaltet: Anmeldung und grafische Benutzeroberfläche inklusive Fensteraufbau sind Windows-Anwendungen und könnten ohne Win32-Subsystem nicht laufen.
Ein weiteres Subsystem sind die Microsoft Windows Services for UNIX, die Sie für Windows 2000 und XP nachrüsten können (ca. 218 MB). In Vista ist es nur in den Varianten Business und Ultimate enthalten, für die anderen ist es nicht verfügbar. Das auch Irix genannte Subsystem ermöglicht die Ausführung von Unix-Programmen, von denen ein großer Teil dem Installationspaket bereits beiliegt. Bis zur Version Windows 2000 gab es auch ein OS/2-Subsystem, allerdings nur für 16-Bit-OS/2-Programme im Textmodus.
Ringstruktur: Kernel und User
Je nachdem, welche Befehle der CPU und welchen Speicherbereich ein Prozess nutzen darf, spricht man von einer Privilegien- oder Sicherheitsstufe, die er innehat. Die CPU muss diese Sicherheitsstufen unterstützen, was bei Intel-Prozessoren seit dem 80286 fehlerbehaftet, seit dem 80386 komplett der Fall ist. Prozesse im Ring 0 laufen im Kernel-Modus, alle anderen in Ring 3, dem Benutzer-Modus. Die Ringe 1 und 2 gibt es zwar auch, doch benutzt Windows sie nicht, da NT ursprünglich als Multiprozessor-System konzipiert war und nicht alle Prozessoren vier Ringe anboten.
Unprivilegierte Prozesse laufen eingeschränkt, so dass sie nicht auf Hardware zugreifen können. Den Zugriff auf den Speicherbereich anderer Prozesse verhindert die CPU mittels der Memory Management Unit (MMU), die für jeden Prozess die physischen Speicheradressen in virtuelle Adressen und dann wieder zurückübersetzt. Virtualisierungslösungen wie XEN verwenden auch Ring 1, indem sie selbst Ring 0 belegen und in Ring 1 die verschiedenen Betriebssystem-Kernel verwalten.
Bei Windows NT bis Version 3.51 lief das Grafiksystem (GDI) zusammen mit den anderen Subsystemen auf Ring 3. Unter Windows NT 4, 2000 und XP verlagerte MicrosoftMicrosoft das Grafik-System aus Geschwindigkeitsgründen in Ring 0, wodurch Bugs in Grafiktreibern das komplette System zum Absturz bringen können. Windows Vista verwendet nun wieder ein neues Grafiktreiber-Modell, bei dem das Grafik-System in Ring 3 läuft. Alles zu Microsoft auf CIO.de