Das EVA(S)-Prinzip Hardware-Komponenten Busse und Schnittstellen Betriebssysteme Anwendersoftware Netzwerke

Multitasking

Home
Nach oben
(dt. »Mehrprogrammverarbeitung«, Parallelverarbeitung, Multiprogramming, Mehrprozessbetrieb),

Auf heutigen Computern läuft nicht mehr ein Programm alleine sondern viele gleichzeitig ab. Ziemlich oft hat man mehrere Programmfenster gleichzeitig geöffnet. Dazu kommen noch viele Programme, die zum Betriebssystem gehören und ohne ein Desktop-Fenster ablaufen. Diese Scheinbare Gleichzeitgkeit zu organisieren ist eine der Kernaufgaben des Betriebssystems. Das Stichwort dazu ist Multitasking. Wie es funktioniert und warum es manche Systeme besser (Linux, Windows XP, MacOS X) und andere weniger gut (Windows 95/98/ME) hinbekommen, erfährst du hier.

Was ist Multitasking?

Multitasking ist die Fähigkeit eines Betriebssystems, mehrere Tasks, d.h. mehrere Anwendungsprogramme oder Teile von Anwendungsprogrammen, parallel ausführen zu können. Ein Programm läuft dabei im Vordergrund (Vordergrundverarbeitung), d. h., es können Eingaben gemacht werden und es erfolgt eine Ausgabe auf den Bildschirm, die anderen (die Hintergrund-Tasks) laufen im Hintergrund. Genau betrachtet laufen die Programme jedoch nicht wirklich gleichzeitig ab, auch wenn es von außen so erscheint. In Wirklichkeit werden die Ressourcen des Prozessors von den einzelnen Anwendungen abwechselnd in Anspruch genommen, jeweils nur für Bruchteile einer Sekunde. Der aktuelle Zwischenstand eines Programms wird nach jedem Zugriff zwischengespeichert, sodass genau an dieser Stelle weiter gerechnet werden kann, wenn dieses Programm wieder »an der Reihe ist«.
Je nachdem, wie die Aufteilung der Rechenzeit auf die Anwendungen vor sich geht, unterscheidet man kooperatives und präemptives Multitasking.

bulletBeim kooperativen Multitasking (auch non-präemptives Multitasking) hat das Betriebssystem nicht die volle Kontrolle darüber, wie die Ressourcen auf die einzelnen Anwendungsprogramme aufgeteilt werden. Vereinfacht gesagt bestimmt jedes Programm selbst, wie schnell es die Kontrolle an das Betriebssystem zurückgibt. Diese Methode hat jedoch einen gravierenden Nachteil: Wenn ein Programm die Ressourcen des Rechners nicht freigibt, z. B. aufgrund eines Programmfehlers, bricht das ganze System zusammen. Es kommt zu einem Absturz, bei dem alle Programme abgebrochen werden. Kooperatives Multitasking ist in allen auf DOS aufsetzenden Windows-Versionen (Windows 3.x, 9x, ME) sowie bei den Macintosh-Betriebssystemen bis Mac OS 9.1 realisiert.

bulletBeim präemptiven Multitasking (auch preemptives Multitasking) hat das Betriebssystem immer die volle Kontrolle über die Freigabe der Ressourcen. Es teilt hier jedem Anwendungsprogramm abwechselnd einen kurzen Zeitabschnitt (eine Zeitscheibe) zu. Ist nun ein Programm fehlerhaft, so kann dieses zwar abstürzen, die anderen Anwendungen werden davon jedoch nicht betroffen und laufen ungestört weiter. Als weiteren Vorteil bietet diese Methode die Möglichkeit, den einzelnen Anwendungen unterschiedliche Priorität zuzuweisen. Einem Programm hoher Priorität werden dann mehr Zeitabschnitte zugeteilt als einem niederrangigen. Mit präemptivem Multitasking arbeiten die meisten Betriebssysteme, darunter Windows NT, Windows XP, Mac OS X, Unix, Linux und OS/2.
 
In Windows 2000/XP kann man sich im Taskmanager (STRG+ALT+ENTF => Taskmanager) die Liste aller aktiven Programme anzeigen lassen und einzelne Anwendungen gezielt beenden.
In Linux und MacOS X gibt es ähnliche Werkzeuge.
Windows XP Taskmanager