Prozess vs Programm vs Algorithmus
Algorithmus
Ein Algorithmus ist eine Schritt-für-Schritt-Anleitung, die ein Problem löst. Ein Algorithmus ist eine abstrakte Beschreibung eines Lösungsweges. Ein Algorithmus ist unabhängig von einer Programmiersprache und kann in verschiedenen Programmiersprachen implementiert werden.
Eindeutigkeit / Determinismus
Nächster Schritt ist immer eindeutig definiert.
Finitheit
Ein Algorithmus muss endlich sein. Er besitzt eine eindeutige Beschreibung
Determiniertheit
Identische Eingaben führen zu identischen Ausgaben.
Ausführbarkeit
Konkrete, wohldefinierte Schritte
Programm
Ein Programm ist eine Formulierung eines Algorithmus, es wird in endlicher Form beschrieben welche Operation in welcher Reihenfolge durchgeführt werden.
Der Code eines Programms ist die vollständige Beschreibung eines Programmes.
Operationen dürfen dabei Parallel oder Sequenziell ablaufen (Ein oder mehrere Schritte gleichzeitig).
Prozess
Ein Prozess ist ein ablaufendes Programm im Hauptspeicher. Dazu gehören neben den Prozessanweisungen der Befehlszähler und Registerinhalte.
Prozesse sind daher dynamisch.
Programme hingegen sind statisch.