So wird Ihr System besser

Geheimes Windows-Wissen für Profis

09.11.2010
Von  und Andreas Kroschel
Mehr über Hermann Apfelböck erfahren Sie unter http://apfelböck.de.

Prozesse, Programme 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.

Quelle: PC-Welt

Zur Startseite