2.3.2.1 Mehrere Prozesse gleichzeitig im Speicher

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:
# Sobald die Ausführung des Prozesses beendet ist (HALT-Befehl), kann der Rechner ausgeschaltet werden.
# Sobald die Ausführung des Prozesses beendet ist (HALT-Befehl), kann der Rechner ausgeschaltet werden.


Beim nächsten Einschalten des Rechners kann wieder neu entscheiden werden, welches Programm zum Einsatz kommt.
Beim nächsten Einschalten des Rechners kann wieder neu entschieden werden, welches Programm zum Einsatz kommt.


<loop_area type="annotation">Natürlich wirkt dieses ständige Ein- und Ausschalten des Rechners befremdlich für dich als erfahrenen Anwender (bzw. Anwenderin). Schließlich arbeitest du jeden Tag gleichzeitig mir mehreren Programmen (eigentlich: Prozessen!) auf deinem PC oder Notebook. Aber mit dem bis jetzt erarbeiteten Bild eines Rechners ist es noch nicht möglich, dieses zu tun. Wir nähern uns aber diesem Ziel, es dauert nicht mehr lange. Halte durch! </loop_area>
<loop_area type="annotation">Natürlich wirkt dieses ständige Ein- und Ausschalten des Rechners befremdlich für dich als erfahrenen Anwender (bzw. Anwenderin). Schließlich arbeitest du jeden Tag gleichzeitig mir mehreren Programmen (eigentlich: Prozessen!) auf deinem PC oder Notebook. Aber mit dem bis jetzt erarbeiteten Bild eines Rechners ist es noch nicht möglich, dieses zu tun. Wir nähern uns aber diesem Ziel, es dauert nicht mehr lange. Halte durch! </loop_area>

Version vom 5. September 2013, 10:24 Uhr

In der Überschrift wird ausdrücklich der Begriff "Prozesse" und nicht "Programme" verwendet.

Aufgabe

Aufgabe 1

Was war doch gleich der Unterschied zwischen einem Programm und einem Prozess?

An dieser Stelle sei noch einmal darauf hingewiesen, dass das bisher erarbeitete Bild eines Rechners nur einen Prozess zur Zeit im Hauptspeicher zulässt. Der Ablauf gestaltet sich wie folgt:

  1. Starte den Rechner.
  2. Lade ein bestimmtes Programm in den Hauptspeicher.
  3. Bereite die CPU zur Ausführung vor (dadurch wird das Programm zum Prozess)
  4. Starte in Speicherzelle 0 mit der Ausführung des ersten Befehls.
  5. Führe entsprechend des Ablaufs alle weiteren Befehle aus.
  6. Sobald die Ausführung des Prozesses beendet ist (HALT-Befehl), kann der Rechner ausgeschaltet werden.

Beim nächsten Einschalten des Rechners kann wieder neu entschieden werden, welches Programm zum Einsatz kommt.

Anmerkung

Natürlich wirkt dieses ständige Ein- und Ausschalten des Rechners befremdlich für dich als erfahrenen Anwender (bzw. Anwenderin). Schließlich arbeitest du jeden Tag gleichzeitig mir mehreren Programmen (eigentlich: Prozessen!) auf deinem PC oder Notebook. Aber mit dem bis jetzt erarbeiteten Bild eines Rechners ist es noch nicht möglich, dieses zu tun. Wir nähern uns aber diesem Ziel, es dauert nicht mehr lange. Halte durch!

Der Ablauf wird nun derart erweitert, dass mehrere Programme geladen und ausgeführt werden können:

  1. Starte den Rechner.
  2. Lade nacheinander mehrere (!) Programme in den Hauptspeicher. Die Befehle des ersten Programms werden zusammenhängend ab Speicherzelle 0 abgelegt, die Befehle der weiteren Programme jeweils zusammenhängend in freien Speicherbereichen danach.
  3. Treffe für jedes Programm die nötigen Vorarbeiten für seine spätere Ausführung. (Dadurch werden nacheinander alle Programme zu Prozessen!)
  4. Starte in Speicherzelle 0 mit der Ausführung des ersten Befehls des ersten Prozesses.
  5. Führe entsprechend des Ablaufs alle weiteren Befehle dieses ersten Prozesses aus.
  6. Sobald die Ausführung des ersten Prozesses beendet ist (HALT-Befehl), wird die CPU auf die Ausführung des zweiten Prozesses vorbereitet.
  7. Starte mit dem ersten Befehl des zweiten Prozesses.
  8. usw.
Aufgabe

Aufgabe 2

Welche Situation wird hier beschrieben:

  1. Es werden mehrere Prozesse im Speicher gehalten und alle Prozesse laufen parallel ab.
  2. Es werden mehrere Prozesse im Speicher gehalten, aber erst wenn der erste Prozess beendet wurde, startet der zweite Prozess. Und nach dem Ende des zweiten Prozesses startet der dritte Prozess. Usw.

Das folgende Video geht näher auf diese Situation ein und erläutert den Ablauf insbesondere im Zusammenspiel mit dem Basisregister.

Die hier skizzierte Arbeitsweise stammt noch von den Großrechnern aus den Anfängen des Computerzeitalters. Damals war es üblich, beim Start eines Rechners eine Reihe von Programmen (und Daten!) zum Beispiel über Lochkarten einlesen zu lassen. Die Programme liefen dann sequentiell ab, d.h. erst nach Beendigung des ersten Prozesses, startete der zweite Prozess, usw.

Anmerkung

Mit deiner eigenen Erfahrung kannst du abschätzen, wie sehr sich doch das Zusammenspiel von Rechnern und Betriebssystem von den Anfängen bis heute verändert hat.



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png