Der Weg von den Batch-Jobs zum Multitasking gleicht einer Zeitreise.
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.
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.
Sobald ein bislang auf der CPU aktiver Prozess vom Prozessor genommen wird, um einem anderen Prozess Platz zu machen, spricht man von einem Kontextwechsel.
Unter einem Kontextwechsel (oder genauer: Prozess-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.
Diese Tätigkeiten werden vom Steuerwerk der CPU in Zusammenarbeit mit dem Betriebssystem durchgeführt.
Zu den erforderlichen Tätigkeiten gehören unter anderem:
Es ist leicht verständlich, dass jeder Kontextwechsel eine gewisse Zeit für seine Durchführung beansprucht.
Diskutiere in deiner Lerngruppe:
Um einmal ein Gefühl für Kontextwechsel zu bekommen, insbesondere im Hinblick auf deren Häufigkeit, zeigt das folgende Video einige Hintergründe unter einem handelsüblichen Microsoft Windows 7.
Wenn Sie dieses Element öffnen, werden Inhalte von externen Dienstleistern geladen und dadurch Ihre IP-Adresse an diese übertragen.
Arbeitest du auch gerade mit einem Windows-Betriebssystem?
Dann dürfte auch bei dir das Systemprogramm perfmon.exe verfügbar sein.
(Perfmon ist übrigens die Abkürzung für Performance Monitor.)
Falls du gerade kein Windows-System zur Hand hast, brauchst du diese Aufgabe natürlich nicht zu bearbeiten ;-)
Auch Linux bietet (mindestens) eine Möglichkeit, um die Anzahl der Kontextwechsel pro Sekunde statistisch zu erfassen. Dies geschieht mit Hilfe des vmstat-Kommandos. Ein Aufruf von
vmstat 1 10
sorgt dafür, dass alle 1 Sekunden eine aktuelle Statistik ausgegeben wird, die Ausgabe wird 10 mal wiederholt.
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png