3.1.9 Vom Batch-Job zum Multitasking

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
 
(27 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==== Batch-Jobs ====
Der Weg von den Batch-Jobs zum Multitasking gleicht einer Zeitreise.
{{#index:Batch-Job}}
<p>
In den Anfangsjahren der Rechnerentwicklung wurden auszuführende Programme als sogenannte Batch-Jobs verarbeitet. Auf diese Verfahrensweise wurde in den Kapiteln [[Gesamtbild der Programmausführung]] und [[Mehrere Prozesse gleichzeitig im Speicher]] eingegangen.
</p>
<p>
Jeder Prozess (Batch-Job) wurde nach dem Start komplett bis zu seinem Ende bearbeitet, erst im Anschluß startete der nächste Prozess (Batch-Job) und belegte die CPU ebenfalls bis zu seiner Terminierung. Entsprechend der Anzahl der Batch-Jobs wurde dieses Prinzip wiederholt, der letzte Prozess in der Reihe musste damit auch am längsten warten, bis er endlich gestartet wurde.
</p>
</p>


<br />
<br />
 
== Batch-Jobs ==
==== Multitasting ====
{{#index:Multitasking|Mehrprogrammbetrieb}}
<p>
<p>
Im Kapitel [[Quasi-gleichzeitige Ausführung mehrerer Prozesse]] wurde erläutert, wie mehrere Prozesse sich bei ihrer Abarbeitung auf der CPU abwechseln können. Dieses Verfahren wird '''Multitasking''' genannt, oder auf deutsch '''Mehrprogrammbetrieb'''.
<loop_index id="5fa978852ce5a">Batch-Job</loop_index><loop_index id="5fa978c725705">Stapelbetrieb</loop_index>
In den Anfangsjahren der Rechnerentwicklung wurden auszuführende Programme als sogenannte Batch-Jobs verarbeitet (Stapelbetrieb). Auf diese Verfahrensweise wurde in den Kapiteln [[Gesamtbild der Programmausführung]] und [[Mehrere Prozesse gleichzeitig im Speicher]] eingegangen.
</p>
</p>
<p>
<p>
Diese geänderte Vorgehensweise markiert einen gewaltigen Meilenstein in der Informatik, da sich hierdurch ganz andere Möglichkeiten in der Interaktion zwischen dem Computersystem und dem Anwender auftun.
Jeder Prozess (Batch-Job) wurde nach dem Start komplett bis zu seinem Ende bearbeitet, erst im Anschluß startete der nächste Prozess (Batch-Job) und belegte die CPU ebenfalls bis zu seiner Terminierung. Entsprechend der Anzahl der Batch-Jobs wurde dieses Prinzip wiederholt, der letzte Prozess in der Reihe musste damit auch am längsten warten, bis er endlich gestartet wurde.
</p>
 
<p>
Sobald ein bislang auf der CPU aktiver Prozess von dieser genommen wird, um einem anderen Prozess Platz zu machen, spricht man von einem Kontextwechsel.
</p>
</p>


<br />
<br />
 
== Multitasking ==
==== Definition: Kontextwechsel ====
<p>
<p>
{{#index:Kontextwechsel|CPU, Kontextwechsel}}
<loop_index id="5fa978852ce63">Multitasking</loop_index><loop_index id="5fa978855195c">Mehrprogrammbetrieb</loop_index>
<loop_area type="definition">
Im Kapitel [[Quasi-gleichzeitige Ausführung mehrerer Prozesse]] wurde erläutert, wie mehrere Prozesse sich bei ihrer Abarbeitung auf der CPU abwechseln können. Dieses Verfahren wird '''Multitasking''' genannt, oder auf deutsch '''Mehrprogrammbetrieb'''.
<p>
Unter einem '''Kontextwechsel''' auf der CPU versteht man alle erforderlichen Tätigkeiten, um einen gerade auf der CPU aktiven Prozess A, durch einen anderen Prozess B zu ersetzen.
</p>
</loop_area>
</p>
</p>


<p>
<p>
Diese Tätigkeiten werden vom Steuerwerk der CPU in Zusammenarbeit mit dem Betriebssystem durchgeführt.
Diese geänderte Vorgehensweise markiert einen gewaltigen Meilenstein in der Informatik, da sich hierdurch - neben einer besseren Auslastung des Rechners - ganz andere Möglichkeiten in der Interaktion zwischen dem Computersystem und dem Anwender auftun.
</p>
 
<p>
Zu den erforderlichen Tätigkeiten gehören unter anderem:
* Sichere alle notwendigen Registerinformationen des scheidenden Prozesses A an einer bekannten Stelle (damit sie von dort später wiederhergestellt werden können).
* Lade alle notwendigen Registerinformationen des neuen Prozesses B in die entsprechenden Register auf der CPU.
* Lade alle notwendigen Befehle und Daten des neuen Prozesses B in den Cache.
</p>
 
<p>
Es ist leicht verständlich, dass jeder Kontextwechsel eine gewisse Zeit für seine Durchführung beansprucht.
</p>
 
<br />
==== Aufgabe 1 ====
<p>
<loop_area type="task">
<loop_task title="Sind Kontextwechsel positiv oder negativ?">
<p>
Diskutiere in deiner Lerngruppe:
</p>
<p>
* Ist die in einen (bzw. mehrere) Kontextwechsel investierte Zeit positiv oder negativ im Hinblick auf die Bedürfnisse eines Anwenders an das Gesamtsystem?
</p>
<p>
* Gibt es verschiedene "Arten von Anwendern", die hier berücksichtigt werden sollten?
** Welche Arten fallen dir ein?
** Welche positiven bzw. negativen Aspekte sind für die einzelnen Anwenderarten zu unterscheiden?
</p>
</loop_task>
</loop_area>
</p>
</p>



Aktuelle Version vom 10. November 2020, 13:37 Uhr

Der Weg von den Batch-Jobs zum Multitasking gleicht einer Zeitreise.


Batch-Jobs

In den Anfangsjahren der Rechnerentwicklung wurden auszuführende Programme als sogenannte Batch-Jobs verarbeitet (Stapelbetrieb). Auf diese Verfahrensweise wurde in den Kapiteln Gesamtbild der Programmausführung und Mehrere Prozesse gleichzeitig im Speicher eingegangen.

Jeder Prozess (Batch-Job) wurde nach dem Start komplett bis zu seinem Ende bearbeitet, erst im Anschluß startete der nächste Prozess (Batch-Job) und belegte die CPU ebenfalls bis zu seiner Terminierung. Entsprechend der Anzahl der Batch-Jobs wurde dieses Prinzip wiederholt, der letzte Prozess in der Reihe musste damit auch am längsten warten, bis er endlich gestartet wurde.


Multitasking

Im Kapitel Quasi-gleichzeitige Ausführung mehrerer Prozesse wurde erläutert, wie mehrere Prozesse sich bei ihrer Abarbeitung auf der CPU abwechseln können. Dieses Verfahren wird Multitasking genannt, oder auf deutsch Mehrprogrammbetrieb.

Diese geänderte Vorgehensweise markiert einen gewaltigen Meilenstein in der Informatik, da sich hierdurch - neben einer besseren Auslastung des Rechners - ganz andere Möglichkeiten in der Interaktion zwischen dem Computersystem und dem Anwender auftun.



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