Prozess (Informatik)
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