2.2.5 Vom Programm zum Prozess

Bislang wurde in diesem Modul bereits mehrmals der Begriff "Programm" verwendet. Da beim aktuellen Stand der Betrachtung aber bereits ein Rechner beschrieben ist, der ein Programm ausführen kann, wird nun eine Abgrenzung der Begriffe Programm und Prozess nötig.

Die folgende Definition ist angelehnt an eine deutsche Übersetzung der Definition des englischen Begriffs "computer program" aus:
ISO/IEC 2382-1:1993 Information technology - Vocabulary - Part 1: Fundamental terms,
ebenso in einer überarbeiteten Version dieses Standards:
ISO/IEC 2382:2015(en) Information technology — Vocabulary.


Definition: Programm

Definition

Ein Programm oder Computerprogramm ist eine den Regeln einer bestimmten Programmiersprache genügende Folge von Anweisungen (bestehend aus Deklarationen und Instruktionen), mit der auf einem Computer eine bestimmte Funktionalität bereitgestellt wird, bzw. eine bestimmte Aufgaben- oder Problemstellung bearbeitet oder gelöst werden kann.

Nach dieser Definition ist beispielsweise der auf der Seite Vom Quellcode zum Prozessor angegebene Quelltext ein Programm. Dies gilt sowohl für den Quelltext in den Hochsprachen (C, Pascal, Java), als auch für den Assemblercode. Sogar der aus Einsen und Nullen bestehende Maschinencode ist ein Programm im Sinne dieser Definition.


Definition: Prozess

Definition

Ein Prozess ist ein Programm in Ausführung.

Diese zweite Definition betont den Begriff "Ausführung". Sobald also ein Programm in den Hauptspeicher eines Computers geladen wurde und der Prozessor bereit zur Ausführung dieses Programms ist, wird aus dem Programm ein Prozess.


Aufgabe 1

Aufgabe

Ein Programm wurde in den Hauptspeicher eines Computers geladen, die CPU ist bereit zur Ausführung dieses Programms.

Was bedeutet dies für die CPU? Welche Vorarbeiten sind auf der CPU zu erledigen, bevor der erste Befehl des Programms aus dem Speicher geholt und ausgeführt werden kann? Welche Vorarbeiten sorgen also dafür, dass aus dem Programm ein Prozess wird?