Prozess (Informatik)

Ein Prozess (auch Task oder Programminstanz genannt[1]) ist ein Computerprogramm zur Laufzeit. Genauer ist ein Prozess die konkrete Instanziierung eines Programms zu dessen Ausführung innerhalb eines Rechnersystems, ergänzt um weitere (Verwaltungs-)Informationen und Ressourcenzuteilungen des Betriebssystems für diese Ausführung.

Ein Prozess ist die Ablaufumgebung für ein Programm auf einem Rechnersystem sowie der darin eingebettete Binärcode des Programmes während der Ausführung. Ein Prozess wird vom Betriebssystem dynamisch kontrolliert durch bestimmte Aktionen, mit denen das Betriebssystem ihn in entsprechende Zustände setzt. Als Prozess bezeichnet man auch die gesamte Zustandsinformation eines laufenden Programms. Im Gegensatz dazu handelt es sich bei einem Programm um die (statische) Verfahrensvorschrift für eine Verarbeitung auf einem Rechnersystem.

Die Prozesse werden vom Prozess-Scheduler des Betriebssystems verwaltet. Dieser kann einen Prozess entweder so lange rechnen lassen, bis er endet oder blockiert (nicht-unterbrechender Scheduler), oder dafür sorgen, dass nach jeweils einer kurzen Zeitdauer der gerade ablaufenden Prozess unterbrochen wird, und der Scheduler so zwischen verschiedenen aktiven Prozessen hin und her wechseln kann (unterbrechender Scheduler), wodurch der Eindruck von Gleichzeitigkeit entsteht, auch wenn zu jedem Zeitpunkt nicht mehr als nur ein Prozess verarbeitet wird. Letzteres ist die vorherrschende Scheduling-Strategie heutiger Betriebssysteme.

Eine nebenläufige Ausführungseinheit innerhalb eines Prozesses wird Thread genannt. Bei modernen Betriebssystemen gehört zu jedem Prozess mindestens ein Thread, der den Programmcode ausführt. Oftmals werden nun nicht mehr Prozesse nebenläufig ausgeführt, sondern nur die Threads innerhalb eines Prozesses.[2]

  1. Roland Hellmann: Rechnerarchitektur: Einführung in den Aufbau moderner Computer. Walter de Gruyter, 2013, ISBN 978-3-486-72002-0, S. 271 (google.de [abgerufen am 16. November 2020]).
  2. Christian Ullenboom: Java ist auch eine Insel. Einführung, Ausbildung, Praxis. 11., aktualisierte und überarbeitete Auflage, Galileo Computing: Bonn, 2014, S. 902.

Developed by StudentB