
 |
(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.
 | Beim 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.
|
 | Beim 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.
|
 |
|