Zum Inhalt springen

Prozess (Informatik)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. August 2005 um 15:41 Uhr durch Stelios~dewiki (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Unter einem Prozess versteht man das Speicherabbild eines gestarteten Programmes mit den vom Betriebssystem benötigten Systemdaten. Allgemein spricht man von einem Programm in der Ausführung. Vereinfacht ist ein Prozess also der Code im Arbeitsspeicher plus sein Kontext (Register im Prozessor, Stack, Puffer, Filehandles).

Bei Unix Betriebssystemen wird ein Prozess durch einen Fork des laufenden Prozesses erzeugt (siehe: Aufspaltung von Prozessen).

Ein Prozess kann in den meisten Betriebssystemen die Zustände rechnend (Ausführung von Befehlen auf der CPU), rechenbereit (gestoppt, um einen anderen Prozess rechnen zu lassen) und blockiert In heute allgemein üblichen Multitasking-Betriebssystemen (preemptive multitasking, Präemptives Multitasking) existieren mehrere Prozesse gleichzeitig. Weil ein Prozessor aber nur einen Prozess zu einer Zeit ausführen kpricht man von Multiprogrammierung.

Ein Prozess ist eine Gruppierung von Tasks, die zusammen eine ausführbare Einheit bilden. [Kruchten: Architectural Blueprints. 1995]

Aufspaltung von Prozessen

Einen durch das Betriebssystem bereitgestellten Systemaufruf, durch den ein zweiter Prozess gestartenannt) weiterläuft, bezeichnet man als Prozessaufspaltung (engl. fork). Die Daten des ersten Prozesses werden für den zweiten Prozess kopiert und stehen für diesen nun getrennt zur Verfügung. Der zweite Prozess ist immer ein vollwertiger Prozess ohne Einschränkung.

Siehe auch: Thread, Leerlaufprozess, Nebenläufigkeit

engl:

rechnend -> running
rechenbereit -> ready
blockiert -> waiting

GuruMurru Hinimini fikimicki trallala