Seite 3: Geheimes Windows-Wissen für Profis - Ratgeber: So wird Ihr System besser

GameStar Plus Logo
Weiter mit GameStar Plus

Wenn dir gute Spiele wichtig sind.

Besondere Reportagen, Analysen und Hintergründe für Rollenspiel-Helden, Hobbygeneräle und Singleplayer-Fans – von Experten, die wissen, was gespielt wird. Deine Vorteile:

Alle Artikel, Videos & Podcasts von GameStar
Frei von Banner- und Video-Werbung
Einfach online kündbar

Das Dateisystem NTFS

NTFS ist seit Windows NT 4 das Standard-Dateisystem für Windows. Es bietet eine vollständige Implementierung von Rechten auf Datei-Ebene, Datei-Kontingente pro Benutzer, alternative Datenströme und Links. Das heisst: Eine Datei kann mehrere Pfade haben und ist erst dann gelöscht, wenn alle Pfade gelöscht wurden. Außerdem beherrscht NTFS Sparse Files: Hierbei belegen leere, aber große Dateien nur soviel Platz wie der Bereich, der nicht mit Nullen gefüllt, also leer ist. Seit Windows 2000 beherrscht NTFS auch ein Verschlüsselung (EFS), die für System und Anwendungen vollkommen transparent ist.

Aus Sicht von NTFS besteht eine Datei nur aus Attributen – auch etwa ihr Inhalt und Name gehören dazu. Kernstück von NTFS ist die Master File Table (MFT), für die ein Achtel des Festplattenplatzes reserviert ist und in der alle Dateien und Verzeichnisse untergebracht sind. Ab einer Größe des Datei- oder Verzeichnisinhaltes (das kann auch ein alternativer Datenstrom sein) von ungefähr 1500 Byte wird dieser nicht mehr direkt in der MFT hinterlegt, sondern als „Extent“ auf die Festplatte ausgelagert. Je nach Größe einer Datei sind auch mehrere Extents pro Datei notwendig.

Die Netzwerk-Schichten

Die Kommunikation mehrerer Rechner über das Netzwerk erklärt sich am Besten anhand des OSI-Modells (Open Systems Interconnection Reference Model). Dessen Prinzip ist, dass etwa ein Browser, der im Web ein Dokument aufruft, keine Namensauflösung in IP-Adressen vornimmt, sondern sich darauf verlässt, dass das Betriebssystem ihm diese liefert. Die TCP/IP-Konfiguration von Windows wiederum kümmert sich nicht um den richtigen Treiber für die Netzwerkkarte oder gar die Verkabelung, sondern geht davon aus, dass dessen Konfiguration komplett ist. Der Treiber wiederum schert sich umgekehrt nicht darum, welches Netzwerk-Protokoll der durch ihn betriebene Adapter bedient – TCP/IP ist zwar heutzutage die gebräuchlichste, aber nicht die einzige Möglichkeit.
Die strenge Unterteilung in sieben Schichten zieht Windows allerdings nicht konsequent durch, sondern fasst jeweils mehrere zusammen, so dass am Ende pi mal Daumen vier übrigbeiben: Auf der Hardware respektive dem Treiber für den Netzwerk- oder Einwahl-Adapter setzt das Netzwerk-Protokoll auf, etwa IPv4, wobei Windows auch IPv6 unterstützt (unter XP nachrüstbar, bei Vista fester Bestandteil). Darauf beruhend übernehmen die Protokolle UDP und TCP den Transport der Daten – eine Unterscheidung, die der Benutzer nicht treffen muss, sondern die transparent vom System geregelt wird.

An der Spitze der Pyramide sitzen die Protokolle, mittels derer die Anwendungen kommunizieren, etwa HTTP und HTTPS für den Browser oder SMTP, POP3 und IMAP für das Mailprogramm.

Daraus ergibt sich für den praktisch Alltag eine Orientierung, wo Sie was finden, um netzwerktechnisch etwas zu konfigurieren: Die Einstellungen der Protokolle, also etwa HTTP-Proxy-Einstellungen, POP3-Server und ähnliches, legen Sie in der jeweiligen Anwendung fest, etwa Browser oder Mailprogramm. Die IP-Konfiguration hingegen ist Windows-Sache und wird in dessen Netzwerkeinstellungen verwaltet. Microsoft bemüht sich allerdings, diese Differenzierung zu verschleiern, so etwa finden Sie die Einstellungen für den Internet Explorer auch in der Systemsteuerung, obwohl sie nicht für das System, sondern nur für die eine konkrete Anwendung gelten.

Die Windows-Registry

Hardware, Kernel, Treiber, Dienste, Netzwerk, GUI, Shell, Programme, Dateitypen – die Registry ist der zentrale Kleister, der alles zusammenhält. Hier steht das nebensächlichste Kontextmenü für einen Dateityp ebenso wie der Pfad zum fundamentalen Systemdienst. Immerhin lässt sich vereinfacht zusammenfassen, dass die wirklich kritischen Schlüssel praktisch allesamt unter Hkey_Local_Machine\System liegen und damit in der Binärdatei %windir%\System32\Config\System. Fehler im wesentlich umfangreicheren Software-Zweig bringen das System nicht zum Erliegen.
Trotzdem: Das Konzept, alles und jedes bequem per API in die zentrale Registry zu kippen, hat auch Nachteile. Die Fehlersuche ist mühsam bis aussichtslos, wenn sich die Informationen auf diverse Registry-Stellen verteilen. Punktuelle Reparaturen setzen immer eine funktionierende Windows-API voraus.

Windows-Registrierdatenbank

Funktion

Konfigurationszentrale für System, Hardware und Software

Speicherort

%windir%\System32\Config + Ntuser.DAT (im User-Konto)

Zugriffstools

Regedit, Reg, Subinacl, *.REG-Import, API, pcwRegSaveRestore etc.

Hauptschlüssel HKCR

Hkey_Classes_Root (=HKLM\Software\Classes)

Hauptschlüssel HKCU

Hkey_Current_User (=HKU\<SID>)

Hauptschlüssel HKLM

Hkey_Local_Machine

Hauptschlüssel HKU

Hkey_Users

Hauptschlüssel HKCC

Hkey_Current_Config (=HKLM\System\CurrentControlset\Hardware Profiles\Current)

Shell-kritisch

Hkey_Local_Machine\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

System-kritisch

Hkey_Local_Machine\System\CurrentControlSet\Control\

Hardware-kritisch

Hkey_Local_Machine\System\CurrentControlSet\Enum

System-kritisch

Hkey_Local_Machine\System\CurrentControlSet\Services

Boot-kritisch

Hkey_Local_Machine\System\MountedDevices

Registry-Vorteile

zentral und sprachunabhängig, API, Import- und Exportfunktionen

Registry-Nachteile

Heterogenität, mühsame Migration und Fehlersuche, Fragmentierung, Dateitypen-Krieg

Prozesse, Programm und Threads

Ein Prozess ist ein Programm, das gegenwärtig abläuft. Sein Code wird dazu in den Arbeitsspeicher geladen und von der CPU abgearbeitet. Ein Prozess wird entweder per Systemaufruf oder vom User durch den Start einer ausführbaren Datei erzeugt. Mittels eines Systemaufrufs führt ein Prozess Aufgaben aus, für er die eigentlich gar nicht genug Privilegien besitzt, etwa das Schreiben auf Festplatte. Er teilt dem Kernel per API mit, was er tun möchte und gibt die Kontrolle an den 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.

Wer jemals einen Festplattenschaden hatte, konnte diesen Vorgang mit eigenen Augen verfolgen: Solange der Kernel einen Schreib-Vorgang nicht abschließen kann, reagiert die Anwendung auf nichts und friert komplett ein (Blocked). Sie taut erst wieder auf, wenn der notwendige Event eintritt – sei es, dass die Festplatte noch einmal überredet werden konnte oder dass eine sauber programmierte Fehlerbehandlung das Problem abfängt.
Prozesse beenden sich nach kompletter Abarbeitung entweder selbst oder werden von außen - durch den Task-Manager oder den Shutdown - terminiert. Fehler wie unerlaubte Speicherzugriffe führen ebenfalls zum zwangsweisen Ende.

Programme - Prozesse - Threads

Programm

maschinenlesbare Abschrift einer definierten Befehlsfolge "Buch" für den Prozess (Datei)

Prozess

Programm im RAM während der Ausführung lebendes Programm

Thread

optionale, unabhängige Unterprozesse im Minimalfall ist Prozess =Main-Thread

Task

Synonym für Prozess (siehe Task-Manager, Task-Switcher) selten als Synonym für Thread

Process Control Block

Prozess-Verwaltungsakte für Kernel und Scheduler enthält u. a. PID, Rechte, Adressen, Priorität

PID

eindeutige Kennziffer pro Prozess (Process ID) Prozess-Name aus Kernel-Sicht

Process-Zustände

Ready (wartet), Active (arbeitet), Blocked (Event erforderlich) Zustandsänderungen durch Kernel und Scheduler

Scheduling

Zeitsteuerung der Prozesse auf Multitasking-Systemen Kiriterien sind Events, Zeitscheiben, Priorität, Semaphoren

Prozess-Priorität

Kriterium für den Kernel, den Prozess-Zustand zu ändern weitere Kriterien sind Events und Zeitscheiben

Semaphoren

Variablen für zeitkritische Abläufe (für alle Prozesse lesbar), Notizen für die Prozesskooperation

3 von 4

nächste Seite


zu den Kommentaren (15)

Kommentare(15)
Kommentar-Regeln von GameStar
Bitte lies unsere Kommentar-Regeln, bevor Du einen Kommentar verfasst.

Nur angemeldete Benutzer können kommentieren und bewerten.