1895004

So funktioniert Windows unter der Haube

29.06.2014 | 10:16 Uhr |

Egal ob Ordnerstruktur, Kernels, Benutzerkontensteuerung oder Registry - wir erklären und illustrieren die fundamentalen Abläufe hinter den Kulissen von Windows.

Windows startet, und Sie melden sich an. Sie öffnen Programme, gehen ins Internet, speichern Ihre Daten. Manches bietet sich intuitiv an, anderes ist tief vergraben. Was unter der Oberfläche wirklich geschieht, wissen die wenigsten. Hier folgt Basiswissen und eine Übersicht über die wesentlichen Systemzentralen.

Der Windows-Start bis zur Benutzeranmeldung

Bis zur Anmeldung des Benutzers hat ein Windows-PC eine ganze Reihe von Aufgaben zu durchlaufen. Die nachfolgende Grafik zeigt die wesentlichsten Schritte unter Angabe der jeweiligen Komponente. Es handelt sich um den Startvorgang von Windows Vista, 7, und 8.

Erste wichtige Hürde ist das Auffinden des Windows-Bootmanagers Bootmgr auf dem primären Bootlaufwerk. Dieses ist nicht immer identisch mit der Windows-Systempartition und befindet sich bei vorinstalliertem OEM-Windows Windows meist in einer versteckten Partition ohne Laufwerkskennung. Dieser Bootmanager stellt dann das (optionale) Bootmenü bereit und bezieht dafür seine Informationen aus den Boot Configuration Data. Die nachfolgenden Aufgaben besorgt dann das Programm Winload.exe.

Das Fehlen oder ein Defekt einer der abgebildeten Basiskomponenten führt zwangsläufig zum frühen Aus.

Die Grafik erlaubt auch eine grobe Interpretation möglicher Fehlerquellen und eventueller Bremsen: Ein sehr umfangreicher Registry-Schlüssel „System“ kann das Einlesen der Winload.exe aufhalten, sehr große oder fehlerhafte Festplatten die Checkdisk-Phase der Ntoskrnl.exe. Nach Updates benötigt das System beim Start deshalb länger, weil es Dateiaktionen (Pending Operations) nachzuholen hat, die im laufenden System nicht möglich sind. Die aktuellen Windows-Versionen informieren den Nutzer in diesem Fall mit einer Anzeige.

Achtung: Diese Windows-Tipps sind nur für Profis

Prozesse, Programme und Threads

Ein Prozess – oder gleichbedeutend ein „Task“ – ist unter Windows wie bei jedem anderen Betriebssystem ein Programm, das gegenwärtig abläuft. Sein Code wird dazu in den Arbeitsspeicher geladen und von der CPU abgearbeitet. Ein Prozess wird entweder vom System oder vom User durch den Start einer ausführbaren Datei erzeugt.

Prozesse erledigen Aufgaben, für die sie zunächst einmal keine ausreichenden Rechte besitzen – so etwa das Schreiben auf Festplatte. Dazu teilt der Prozess dem Kernel per API mit, was er vorhat, und gibt dann die Kontrolle an den Windows-Kernel ab. Der Kernel schaut in den PCB (Process Control Block) und führt die Anfrage entweder aus oder lehnt sie ab. Der ursprüngliche Prozess wird dabei so lange unterbrochen (Zustand: „Blocked“), bis die Anfrage komplett bearbeitet ist. Nach dem Systemaufruf gibt der Kernel die CPU wieder an den Prozess im Benutzer-Modus zurück und führt den Programmcode an der Stelle fort (Zustand: „Active“), an der er zuvor unterbrochen wurde.

Prozesse beenden sich nach kompletter Abarbeitung entweder selbst oder werden von außen terminiert – durch ordnungsgemäßes Schließen oder gewaltsam durch den Task- Manager, durch Tools wie Taskkill oder durch den Shutdown. Fehler wie unerlaubte Speicherzugriffe führen zum zwangsweisen Ende.

Vor- und Nachteile der zentralen Windows-Registry

Die Registry als zentrale Konfigurationsdatenbank: Das Konzept, Infos zu fundamentalen Treibern und Diensten am selben Ort unterzubringen wie Software-Marginalien, hat Vor- und Nachteile.
Vergrößern Die Registry als zentrale Konfigurationsdatenbank: Das Konzept, Infos zu fundamentalen Treibern und Diensten am selben Ort unterzubringen wie Software-Marginalien, hat Vor- und Nachteile.

Infos, Pfade und Daten über Hardware, Kernel, Treiber, Dienste, Netzwerk, GUI, Shell, Programme, Dateitypen – Windows versammelt alles in der Registry. Hier steht das unwichtigste Kontextmenü für einen Dateityp ebenso wie der Pfad zum fundamentalen Treiber oder Systemdienst. Die wirklich kritischen Schlüssel liegen praktisch allesamt unter Hkey_Local_ Machine\System (und damit in der Datei\Wndows\System32\Config\System). Fehler im wesentlich umfangreicheren Software-Zweig sind lästig, bringen aber das System nicht zum Erliegen.

Alles, was in der Registry steht, ließe sich im Prinzip – wie bei anderen Betriebssystemen – auch im Dateisystem unterbringen. Es gibt aber gute Argumente für die Registry: Der Aufbau mit Schlüssel und Werten ist standardisiert und relativ einfach; Entwickler wie Benutzer müssen sich nicht mit unterschiedlichen Formaten von Konfigurationsdateien herumschlagen.

Die innere Ordnung mit wenigen Hauptschlüsseln ist ebenfalls einfach: Software, die sich an diese Ordnung hält, ist schnell zu orten.

Trotzdem hat das Konzept, alles und jedes in die Registry zu kippen, auch Nachteile. Wenn sich gesuchte Werte auf diverse Registry-Stellen verteilen, wird die Fehlersuche mühsam bis aussichtslos. Reparaturen setzen immer eine funktionierende Windows-API voraus oder notfalls den Zugriff über ein Windows- Zweitsystem, während sich Reparaturen auf Dateiebene mit jedem Betriebssystem ausführen ließen.

Ringstruktur: Privilegierter Kernel im Ring 0 und User im Ring 3

Ringschema des Prozessors: Nur was in Ring 0 läuft, kann das System zum Absturz bringen.
Vergrößern Ringschema des Prozessors: Nur was in Ring 0 läuft, kann das System zum Absturz bringen.

Je nachdem, welche Befehle der CPU und welchen Speicherbereich ein Prozess nutzen darf, spricht man von einer Privilegien- oder Sicherheitsstufe. Nur die systemeigenen Prozesse (Kernel-Modus) laufen im privilegierten Ring 0, alle Prozesse des Benutzers hingegen im Ring 3 (User-Modus). Die Ringe 1 und 2 ermöglichen weitere Schichten, die Windows jedoch nicht benutzt. Wichtig werden diese Schichten für Virtualisierungs-Software wie beispielsweise VM Ware.

Unprivilegierte Prozesse außerhalb Ring 0 laufen eingeschränkt und haben keinen direkten Zugriff auf die Hardware. 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.

Die Entscheidung der Systementwickler, welche Subsysteme im Ring 0 laufen dürfen, ist immer ein Kompromiss zwischen Sicherheit und Leistung: Ring 0 mit dem direkten Weg zur Hardware ist immer die schnellere, aber riskantere Option. Ein Beispiel: Unter Windows XP verlegte Microsoft das Grafiksystem aus Geschwindigkeitsgründen in den Ring 0 – mit dem Risiko, dass Grafiktreiber das komplette System zum Absturz bringen konnten. In den neueren Versionen läuft der Grafiktreiber wieder in Ring 3 und kann damit nicht mehr das Gesamtsystem gefährden.

6 Registry-Hacks für ein schnelleres Windows

Benutzerkonten, Rechte und die Benutzerkontensteuerung

Die zwei Wege zur UAC-Abfrage („Möchten Sie zulassen, dass …?“): Ein Programm wird explizit „Als Administrator“ gestartet oder das Programmmanifest fordert Admin-Rechte.
Vergrößern Die zwei Wege zur UAC-Abfrage („Möchten Sie zulassen, dass …?“): Ein Programm wird explizit „Als Administrator“ gestartet oder das Programmmanifest fordert Admin-Rechte.

Jedes NT-Windows ist ein Mehrbenutzersystem. Das bedeutet nicht nur, dass die Benutzerdateien getrennt und gegenseitig abgesichert sind, sondern vor allem, dass unterschiedliche Rechte für zwei Kontentypen bestehen: die uneingeschränkten Administratorkonten und die eingeschränkten Benutzerkonten. Im Gegensatz zum Administrator ist normalen Benutzern die Installation von Software und Treibern ebenso untersagt wie der Schreibzugriff auf Systemordner oder die Registrierungsdatenbank. Die eingeschränkten Rechte des normalen Benutzerkontos bieten zuverlässigen Schutz gegen Systemveränderungen: Wo der Benutzer nichts darf, kann er nichts kaputtmachen. Und weil ein eingeschränkter Windows-Explorer seine limitierten Rechte an alle durch ihn gestarteten Programme weitervererbt, kann auch ein Virus wenig ausrichten.

Konsequente PC-Arbeit mit eingeschränkten Konten hat sich aber unter Windows nie durchgesetzt. Schuld daran ist nicht Windows selbst, sondern die dort mangelnde Abwärtskompatibilität zu „alter“ Software und zu „alten“ Usern: Viele Benutzer wollen und kennen nur die vollen Zugriffsrechte. Hauptproblem sind aber nicht die Benutzer, sondern Tausende von alten Windows-Programmen, die einfach unlimitierte Administratorrechte voraussetzen. Die Windows-Explorer-Option „Ausführen als“ kann solche Kompatibilitätsprobleme nicht befriedigend kompensieren. Vor Jahren wurde daher mit Windows Vista die Benutzerkontensteuerung eingeführt.

Die Benutzerkontensteuerung (User Account Control, UAC) macht Administratorkonten sicherer und Benutzerkonten bequemer: Auch im Administratorkonto besitzt die wesentliche Zentrale, der Windows-Explorer, nur Benutzerrechte. Da der Explorer alle weiteren Programme startet, haben auch diese zunächst nur Benutzerrechte. Deshalb muss ein Programm, das vollen Zugriff braucht, auch im Admin- Konto erst auf volle Rechte angehoben werden. Die Erlaubnis gibt der Administrator durch Bestätigen der UAC-Anfrage.

Das ist die eine Seite der UAC. Ihre Hauptaufgabe besteht aber darin, dem eingeschränkten Benutzer punktuell Admin-Rechte einzuräumen und damit die Systembenutzung in sicheren, eingeschränkten Konten zu erleichtern. Im eingeschränkten Konto müssen Sie nicht mehr wissen, welche Programme oder Dateiaktionen höhere Rechte benötigen und daher mit „Ausführen als“ angehoben werden müssen. Vielmehr erkennt die Benutzerkontensteuerung dies und fordert gegebenenfalls das Kennwort eines Administratorkontos an.

Die UAC beherrscht außerdem die Virtualisierung von Ordnern und Registrierungsdatenbank- Schlüsseln, um Programme mit eingeschränkten Benutzerrechten fehlerfrei ausführen zu können: Ein Programm, das nur eine Konfigurationsdatei im Programme-Ordner schreiben will, muss dazu nicht mit Administratorrechten laufen. Stattdessen wird die Datei in den Profilordner „%userprofile%\App- Data\Local\VirtualStore“ umgelenkt, Zugriffe auf die Registrierungsdatenbank landen unter „Hkey_Current_User\Software\Classes\VirtualStore“.

Sobald das Programm mit eingeschränkten Rechten im Programme-Ordner seine dort nicht vorhandenen Daten sucht, fängt die UAC den Zugriffskonflikt ab und reicht die Daten aus dem „VirtualStore“ weiter. Diese Virtualisierung leistet eine stille Modernisierung alter Software, die ohne Not auf globale Ordner wie das Windows- oder Programme-Verzeichnis zugreifen und in den Registry-Schlüssel „Hkey_Local_ Machine“ schreiben will.

Ordnerstruktur und Rechte unter Windows

Die wichtigsten Ordner eines Windows-Systems: Diese Verzeichnisse werden Sie auf jeder neueren Windows-Version antreffen. Bei einigen verbietet Windows sogar Administratoren den Zutritt.
Vergrößern Die wichtigsten Ordner eines Windows-Systems: Diese Verzeichnisse werden Sie auf jeder neueren Windows-Version antreffen. Bei einigen verbietet Windows sogar Administratoren den Zutritt.

Die Organisation in die Hauptordner „Windows“ (System), „Programme“ (Software) und „Users“ (Benutzerkonten) hat seit vielen Jahren Bestand. Jünger ist die Tatsache, dass Windows seit Vista sprachunabhängig ist und Ordnernamen durch „Localized Strings“ im Explorer in deutscher Sprache erscheinen, während andere Shells wie etwa die Kommandozeile Cmd die tatsächlichen, englischen Namen anzeigt.

Die Rechtestruktur auf NTFS-Partitionen schützt die Benutzerdaten unter „Users“ vor dem gegenseitigen Zugriff. Benutzerkonten mit Administratorrecht können sich aber jederzeit durch Besitzübernahme und Rechteänderung Zugriff auf alle anderen Konten verschaffen. Eingeschränkte Benutzer haben hingegen keine Möglichkeit, Ordner und Dateien anderer Konten zu lesen oder zu ändern; sie haben auch keine Schreiberlaubnis unter „Programs“ („Programme“) und „Windows“. Damit sind nur Installationen außerhalb des Standardordners „Programme“ möglich, ferner optische Anpassungen der Windows-GUI. Ein Sonderfall ist noch das Konto „Gast“ (sofern aktiviert), das keine Anmeldung erfordert, aber ausschließlich im eigenen Gast-Ordner Schreibrechte besitzt. 64-Bit-Windows trennt 32-Bit-Software und 64-Bit-Programme in die Ordner „Program Files (x86)“ und „Program Files“. Windows 8 versammelt die zusätzlichen Modern Apps unter „Program Files\WindowsApps“. Der Ordner „Recovery“ mit dem Notfallsystem ist mit Admin-Rechten zugänglich, „System Volume Information“ mit den Wiederherstellungspunkten des Systemschutzes überhaupt nicht – jedenfalls nicht ohne manuelle Rechte-Manipulation.

Mit diesen Gratis-Tool startet Ihr Windows schneller

Systemkomponenten und Aufgabenverteilung

Wenn Windows nicht funktioniert: Das Hardware Detection Tool zeigt Infos zu CPU, PCI-Karten, Speicher, Hauptplatine, Festplatten und Grafikkarte.
Vergrößern Wenn Windows nicht funktioniert: Das Hardware Detection Tool zeigt Infos zu CPU, PCI-Karten, Speicher, Hauptplatine, Festplatten und Grafikkarte.

Um fundamentale Infos über den PC, Hardware und Treiber einzuholen, hilft die Tastenkombination Win-Pause. Der Link „Geräte- Manager“ führt dort auch gleich weiter zur Geräteübersicht. Dieser Geräte-Manager ist wichtigste Anlaufstation bei Hardware-Problemen und erlaubt das Nachinstallieren von Treibern ebenso wie das Abschalten von Hardware. Bei Netzwerkproblemen, die nicht Hardware- bedingt sind, ist das „Netzwerk- und Freigabecenter“ in der Systemsteuerung die geeignete Anlaufstation.

Alle Verwaltungskonsolen wie der Geräte-Manager basieren auf der Microsoft-Management- Console (Mmc.exe). Es handelt sich um die etwa 20 Dateien mit der Erweiterung MSC im System32-Ordner. Diese bestehen lediglich aus XML-Text, den die MMC interpretiert und dann die geforderten Systemobjekte in ihr Fenster lädt. Die MMC ist offen und kann alle möglichen Objekte, Links, Ordner und ActiveXKomponenten integrieren. Das sehen Sie etwa an der „Computerverwaltung“ (Compmgmt. msc), die alles Mögliche versammelt, was auch noch als Spezialkonsole vorliegt, so etwa der „Geräte-Manager“ (Devmgmt.msc) oder die „Dienste-Konsole“ (Services.msc).

Die Systemsteuerung versammelt unter einer Oberfläche alle Applets mit der Endung CPL aus dem System32-Ordner und außerdem eine Reihe weiterer Systemprogramme, die per Namespace eingebunden werden. Theoretisch kann die Systemsteuerung auf diesem zweiten Weg beliebig erweitert werden. Die Mehrzahl der Systemsteuerungsoptionen ist nicht systemkritisch: Die Systemsteuerung ist in erster Linie der Ort für Benutzeranpassungen. Von der konsequenten Trennung harmloser Benutzeranpassungen und systemkritischer Eingriffen ist aber leider keine Rede: Unter „Benutzerkonten“ oder „Windows-Firewall“ können Sie systemweite Einstellungen ändern, und Punkte wie „Geräte-Manager“ oder „Verwaltung“ führen aus der Systemsteuerung direkt zu den Verwaltungskonsolen.

Hardware Detection Tool (HDT 0.5.2): Das Tool ist ideal, wenn Sie die Hardware-Konfiguration eines PCs untersuchen möchten, auf dem kein funktionierendes Betriebssystem existiert. HDT zeigt Basisinformationen zur Hardware auf x86-kompatiblen Systemen an. Mit einem textbasierten Menü lassen sich die Geräte des PCs nach Kategorie untersuchen, um Typ und Name einer Komponente herauszufinden. HDT gibt Auskunft über folgende Hardware: CPU, PCI-Karten, Speicher, DMI-Geräte (Hauptplatine), Festplatten und VESA-Fähigkeiten der Grafikkarte.

0 Kommentare zu diesem Artikel
1895004