2.3.2.1 Mehrere Prozesse gleichzeitig im Speicher

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
<p>
Zunächst sei an das bisher erarbeitete [[Gesamtbild der Programmausführung]] erinnert. Dieser Ablauf wird nun derart erweitert, dass '''mehrere''' Programme geladen und ausgeführt werden können:
Zunächst sei an das bisher erarbeitete [[Gesamtbild der Programmausführung]] erinnert. Dieser Ablauf wird nun derart erweitert, dass '''mehrere''' Programme geladen und ausgeführt werden können:


Zeile 9: Zeile 10:
# Starte mit dem ersten Befehl des zweiten Prozesses.
# Starte mit dem ersten Befehl des zweiten Prozesses.
# usw.
# usw.
</p>


<loop_area type="task">'''Aufgabe 1'''<br />
<p>
<loop_area type="task">'''Aufgabe 1'''
<p>
Welche Situation wird hier beschrieben:
Welche Situation wird hier beschrieben:
# Es werden mehrere Prozesse im Speicher gehalten und alle Prozesse laufen parallel ab.<br /><br />oder<br /><br />
# Es werden mehrere Prozesse im Speicher gehalten und alle Prozesse laufen parallel ab.<br /><br />oder<br /><br />
# 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.  
# 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.  
</p>
</loop_area>
</loop_area>
</p>


<p>
Das folgende Video geht näher auf diese Situation ein und erläutert den Ablauf insbesondere im  Zusammenspiel mit dem [[Basisregister]].
Das folgende Video geht näher auf diese Situation ein und erläutert den Ablauf insbesondere im  Zusammenspiel mit dem [[Basisregister]].
</p>


<p><loop_media type="video" title="Basisregister als Voraussetzung für die Unterbringung mehrerer Programme im Hauptspeicher (03:10)" description="http://youtu.be/uBcR9kPIbg8" copyright="CC-BY" index=true show_copyright=true>{{#ev:youtube|uBcR9kPIbg8}}</loop_media></p>
<p>
<loop_media type="video" title="Basisregister als Voraussetzung für die Unterbringung mehrerer Programme im Hauptspeicher (03:10)" description="http://youtu.be/uBcR9kPIbg8" copyright="CC-BY" index=true show_copyright=true>{{#ev:youtube|uBcR9kPIbg8}}</loop_media>
</p>


<p>
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.
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.
</p>


<loop_area type="annotation">Mit deiner eigenen Erfahrung kannst du abschätzen, wie sehr sich doch das Zusammenspiel von Hardware und Software von den Anfängen bis heute verändert hat.</loop_area>
<p>
<loop_area type="annotation">
<p>
Mit deiner eigenen Erfahrung kannst du abschätzen, wie sehr sich doch das Zusammenspiel von Hardware und Software von den Anfängen bis heute verändert hat.
</p>
</loop_area>
</p>


<p>
Das folgende Video erläutert, wie mehrere Programme mit ihren Daten im Hauptspeicher angeordnet sind.
Das folgende Video erläutert, wie mehrere Programme mit ihren Daten im Hauptspeicher angeordnet sind.
</p>


<p><loop_media type="video" title="Speicheraufteilung bei mehreren Programmen im RAM (03:08)" description="http://youtu.be/n3SKQt-yHHg" copyright="CC-BY" index=true show_copyright=true>{{#ev:youtube|n3SKQt-yHHg}}</loop_media></p>
<p>
<loop_media type="video" title="Speicheraufteilung bei mehreren Programmen im RAM (03:08)" description="http://youtu.be/n3SKQt-yHHg" copyright="CC-BY" index=true show_copyright=true>{{#ev:youtube|n3SKQt-yHHg}}</loop_media>
</p>


<p>
Die hier gezeigte Speicheraufteilung verdeutlicht, dass ein Programm und seine Daten '''zusammenhängend''' im Hauptspeicher abgelegt werden. Dieser Umstand vereinfacht viele Dinge, auf die in den nächsten Seiten noch näher eingegangen wird.
Die hier gezeigte Speicheraufteilung verdeutlicht, dass ein Programm und seine Daten '''zusammenhängend''' im Hauptspeicher abgelegt werden. Dieser Umstand vereinfacht viele Dinge, auf die in den nächsten Seiten noch näher eingegangen wird.
</p>


<p>
Der Grund für diese zusammenhängende Unterbringung im Hauptspeicher ist ganz simpel: es ist die einfachste Variante, bei der auftretende Probleme (auch diese werden in Kürze aufgezeigt) ohne großen Aufwand gelöst werden können.
Der Grund für diese zusammenhängende Unterbringung im Hauptspeicher ist ganz simpel: es ist die einfachste Variante, bei der auftretende Probleme (auch diese werden in Kürze aufgezeigt) ohne großen Aufwand gelöst werden können.
</p>


<loop_area type="annotation">'''Bedenke:'''<br />Die hier gezeigten Dinge stammen aus der Zeit der Großrechner. PCs und Laptops wie wir sie heute kennen waren damals noch sehr weit entfernt. Die Entwicklung startete mit diesen einfachen Verfahren, steigerte ihre Komplexität aber im Laufe der Jahrzehnte. Die heute üblichen Verfahren der Speicherbelegung werden später in diesem Modul noch erläutert.
<p>
<loop_area type="annotation">'''Bedenke:'''
<p>
Die hier gezeigten Dinge stammen aus der Zeit der Großrechner. PCs und Laptops wie wir sie heute kennen waren damals noch sehr weit entfernt. Die Entwicklung startete mit diesen einfachen Verfahren, steigerte ihre Komplexität aber im Laufe der Jahrzehnte. Die heute üblichen Verfahren der Speicherbelegung werden später in diesem Modul noch erläutert.
</p>
</loop_area>
</loop_area>
</p>


<p>
Man betrachte noch einmal den oben auf dieser Seite beschriebenen Punkt:<br />
Man betrachte noch einmal den oben auf dieser Seite beschriebenen Punkt:<br />
''"Treffe für jedes Programm die nötigen Vorarbeiten für seine spätere Ausführung."''
''"Treffe für jedes Programm die nötigen Vorarbeiten für seine spätere Ausführung."''
</p>


<p>
Genaugenommen ist dieser Punkt etwas schwammig formuliert, denn '''WER oder WAS''' trifft für jedes Programm die nötigen Vorarbeiten?
Genaugenommen ist dieser Punkt etwas schwammig formuliert, denn '''WER oder WAS''' trifft für jedes Programm die nötigen Vorarbeiten?
</p>


<p>
Spätestens an dieser Stelle zeigt sich erstmals die ''Notwendigkeit einer "Verwaltungseinheit"'', und aus dieser Notwendigkeit heraus entwickelten sich im Laufe der Jahre verschiedene Betriebssysteme.
Spätestens an dieser Stelle zeigt sich erstmals die ''Notwendigkeit einer "Verwaltungseinheit"'', und aus dieser Notwendigkeit heraus entwickelten sich im Laufe der Jahre verschiedene Betriebssysteme.
<loop_area type="notice">'''Wir brauchen ein Betriebssystem!'''<br /> Und eine der Aufgaben dieses Betriebssystems wird die Verwaltung mehrerer Prozesse sein.</loop_area>
</p>
<p>
<loop_area type="notice">'''Wir brauchen ein Betriebssystem!'''
<p>
Und eine der Aufgaben dieses Betriebssystems wird die Verwaltung mehrerer Prozesse sein.
</p>
</loop_area>
</p>
 
<br />
<br />
<hr />
<hr />
<sub>Diese Seite steht unter der [http://creativecommons.org/licenses/by/3.0/deed.de Creative Commons Namensnennung 3.0 Unported Lizenz] [http://creativecommons.org/licenses/by/3.0/deed.de http://i.creativecommons.org/l/by/3.0/80x15.png]
<sub>Diese Seite steht unter der [http://creativecommons.org/licenses/by/3.0/deed.de Creative Commons Namensnennung 3.0 Unported Lizenz] [http://creativecommons.org/licenses/by/3.0/deed.de http://i.creativecommons.org/l/by/3.0/80x15.png]
</sub>
</sub>

Version vom 20. September 2013, 21:25 Uhr

Zunächst sei an das bisher erarbeitete Gesamtbild der Programmausführung erinnert. Dieser 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 1

Welche Situation wird hier beschrieben:

  1. Es werden mehrere Prozesse im Speicher gehalten und alle Prozesse laufen parallel ab.

    oder

  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 Hardware und Software von den Anfängen bis heute verändert hat.

Das folgende Video erläutert, wie mehrere Programme mit ihren Daten im Hauptspeicher angeordnet sind.

Die hier gezeigte Speicheraufteilung verdeutlicht, dass ein Programm und seine Daten zusammenhängend im Hauptspeicher abgelegt werden. Dieser Umstand vereinfacht viele Dinge, auf die in den nächsten Seiten noch näher eingegangen wird.

Der Grund für diese zusammenhängende Unterbringung im Hauptspeicher ist ganz simpel: es ist die einfachste Variante, bei der auftretende Probleme (auch diese werden in Kürze aufgezeigt) ohne großen Aufwand gelöst werden können.

Anmerkung

Bedenke:

Die hier gezeigten Dinge stammen aus der Zeit der Großrechner. PCs und Laptops wie wir sie heute kennen waren damals noch sehr weit entfernt. Die Entwicklung startete mit diesen einfachen Verfahren, steigerte ihre Komplexität aber im Laufe der Jahrzehnte. Die heute üblichen Verfahren der Speicherbelegung werden später in diesem Modul noch erläutert.

Man betrachte noch einmal den oben auf dieser Seite beschriebenen Punkt:
"Treffe für jedes Programm die nötigen Vorarbeiten für seine spätere Ausführung."

Genaugenommen ist dieser Punkt etwas schwammig formuliert, denn WER oder WAS trifft für jedes Programm die nötigen Vorarbeiten?

Spätestens an dieser Stelle zeigt sich erstmals die Notwendigkeit einer "Verwaltungseinheit", und aus dieser Notwendigkeit heraus entwickelten sich im Laufe der Jahre verschiedene Betriebssysteme.

Hinweis

Wir brauchen ein Betriebssystem!

Und eine der Aufgaben dieses Betriebssystems wird die Verwaltung mehrerer Prozesse sein.



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