Wie funktioniert Multitasking im Detail?
02.10.2025 4 Min. Lesezeit
Multitasking gehört heute zu den selbstverständlichsten Eigenschaften eines Betriebssystems. Programme laufen parallel, Anwendungen reagieren scheinbar gleichzeitig, Hintergrundprozesse erledigen ihre Arbeit, ohne den Nutzer zu stören. Doch dieser Eindruck täuscht. Auf einem klassischen IBM‑PC‑System mit einem einzelnen Prozessor kann immer nur ein Programm zur gleichen Zeit rechnen. Multitasking ist daher keine Eigenschaft der Hardware allein, sondern ein Konzept, das vom Betriebssystem aktiv umgesetzt wird. Um zu verstehen, wie das funktioniert, muss man sich anschauen, was Multitasking eigentlich bedeutet - und was nicht.
Was Multitasking nicht ist
Multitasking bedeutet nicht, dass ein Rechner mehrere Dinge gleichzeitig ausführt, zumindest nicht im physikalischen Sinn. Ein einzelner Prozessor führt zu jedem Zeitpunkt genau eine Instruktion aus. Die Illusion der Gleichzeitigkeit entsteht durch schnelles Umschalten. Das Betriebssystem unterbricht die Ausführung eines Programms, speichert dessen Zustand, startet ein anderes Programm und setzt später das erste fort. Wenn diese Umschaltungen schnell genug erfolgen, wirkt es für den Menschen wie gleichzeitige Ausführung. Multitasking ist damit ein Zeitteilungsmodell - keine parallele Ausführung im ursprünglichen Sinn.
Der Prozess als Grundeinheit
Um Multitasking zu ermöglichen, muss das Betriebssystem Arbeit in klar abgrenzbare Einheiten zerlegen. Diese Einheit nennt man typischerweise Prozess. Ein Prozess ist mehr als nur ein Programm. Er umfasst:
- den Programmcode
- den aktuellen Ausführungszustand
- genutzten Speicher
- offene Dateien und Ressourcen Ein laufendes Programm existiert immer als Prozess. Mehrere Prozesse können dasselbe Programm ausführen, ohne sich gegenseitig zu beeinflussen. Multitasking bedeutet nun, dass das Betriebssystem mehrere Prozesse verwaltet und zwischen ihnen wechselt.
Kontextwechsel: Das Herzstück des Multitaskings
Der zentrale technische Vorgang beim Multitasking ist der sogenannte Kontextwechsel. Dabei hält das Betriebssystem die Ausführung eines aktuell laufenden Prozesses an und speichert dessen vollständigen Zustandskontext. Dazu gehören unter anderem:
- Registerinhalte der CPU
- der aktuelle Instruktionszeiger
- Informationen über Speicherabbildungen Anschließend lädt das Betriebssystem den Kontext eines anderen Prozesses und setzt dessen Ausführung fort, genau dort, wo sie zuvor unterbrochen wurde. Dieser Vorgang ist vollständig transparent für die Programme selbst. Sie wissen nicht, dass sie unterbrochen wurden - sie setzen einfach ihre Arbeit fort.
Zeitquanten und Scheduling
Damit Multitasking fair und kontrolliert funktioniert, teilt das Betriebssystem die verfügbare Prozessorzeit in kleine Abschnitte auf, sogenannte Zeitquanten. Jeder Prozess erhält für eine bestimmte Dauer Rechenzeit. Ein spezieller Teil des Betriebssystems, der Scheduler, entscheidet, welcher Prozess als Nächstes ausgeführt wird. Diese Entscheidung basiert auf verschiedenen Kriterien, etwa:
- Priorität des Prozesses
- wie lange er bereits gewartet hat
- ob er auf Ein- oder Ausgabe wartet Das Scheduling ist keine technische Nebensache, sondern eine Kernaufgabe des Betriebssystems. Es bestimmt, wie reaktionsfreudig, effizient und fair sich das System anfühlt.
Kooperatives vs. präemptives Multitasking
Ein historisch wichtiger Unterschied liegt zwischen kooperativem und präemptivem Multitasking. Beim kooperativen Multitasking liegt die Verantwortung für den Wechsel beim Programm selbst. Programme müssen freiwillig die Kontrolle abgeben, damit andere laufen können. Tut ein Programm das nicht, blockiert es das gesamte System. Dieses Modell wurde in frühen grafischen Umgebungen auf DOS‑Basis verwendet. Es ist einfach zu implementieren, aber extrem anfällig für Fehlverhalten. Präemptives Multitasking hingegen wird vom Betriebssystem erzwungen. Programme können jederzeit unterbrochen werden, unabhängig von ihrem Verhalten. Dieses Modell ist die Grundlage moderner Betriebssysteme wie Windows NT, Linux oder ähnliche Systeme. Der Übergang zu präemptivem Multitasking markiert den Punkt, an dem das Betriebssystem endgültig die Kontrolle übernimmt.
Multitasking und Speicherschutz
Multitasking ist untrennbar mit Speicherschutz verbunden. Wenn mehrere Prozesse gleichzeitig existieren, dürfen sie sich nicht gegenseitig beeinflussen. Das Betriebssystem sorgt dafür, dass jeder Prozess nur seinen eigenen Speicher sehen kann. Ohne diesen Schutz wäre Multitasking praktisch unbeherrschbar. Ein einzelner Fehler würde alle laufenden Programme kompromittieren. Deshalb waren echtes Multitasking und Speicherschutz historisch immer gekoppelte Konzepte. Hier zeigt sich erneut, warum DOS strukturell kein echtes Multitasking‑System sein konnte.
Vordergrund und Hintergrund
Für den Nutzer ist Multitasking vor allem spürbar durch die Unterscheidung zwischen Vordergrund- und Hintergrundaktivitäten. Während ein Programm sichtbar und interaktiv ist, arbeiten andere im Hintergrund weiter. Das Betriebssystem bewertet diese Prozesse unterschiedlich. Interaktive Programme erhalten häufig bevorzugte Rechenzeit, um ein flüssiges Bediengefühl zu gewährleisten, während Hintergrundprozesse gedrosselt werden können. Diese Gewichtung ist Teil des Schedulers und trägt erheblich zum subjektiven Eindruck eines “schnellen” Systems bei.
Multitasking ist immer ein Kompromiss
Wichtig ist zu verstehen, dass Multitasking kein kostenloser Vorteil ist. Jeder Kontextwechsel kostet Zeit. Speicher muss verwaltet, Zustände gespeichert und wiederhergestellt werden. Zu häufige Wechsel können die Effizienz sogar verschlechtern. Ein gutes Betriebssystem findet ein Gleichgewicht zwischen Reaktionsfähigkeit und Durchsatz. Dieser Balanceakt ist hochkomplex und eines der anspruchsvollsten Themen der Betriebssystementwicklung.
Multitasking als Grundlage moderner Nutzung
Ohne Multitasking wären moderne Arbeitsweisen undenkbar. Netzwerkanwendungen, Benutzeroberflächen, Hintergrunddienste, Sicherheitssysteme - all das setzt voraus, dass viele Aufgaben gleichzeitig existieren können, ohne sich gegenseitig zu stören. Der IBM‑PC begann als Ein‑Programm‑Maschine. Multitasking verwandelte ihn in ein universelles System.
Fazit: Multitasking ist organisierte Unterbrechung
Multitasking bedeutet nicht Gleichzeitigkeit, sondern Organisation. Das Betriebssystem orchestriert Unterbrechungen, entscheidet über Prioritäten und schützt Prozesse voreinander. Es ist kein Nebenfeature, sondern eine der zentralen Ordnungsfunktionen moderner Systeme. Wer Multitasking versteht, versteht, warum Betriebssysteme so komplex geworden sind - und warum Stabilität kein Zufall ist.