Stewdent.eu
▾

Multitasking

Multitasking ermöglicht es einem Computer, scheinbar mehrere Aufgaben gleichzeitig auszuführen, indem das Betriebssystem die CPU-Zeit schnell zwischen Programmen wechselt.

Zuletzt aktualisiert: 4. Januar 2026

★★☆☆☆ Stufe 2computingSystemeoperating-systemsmultitaskingschedulingcpu3 Min Lesezeit

Fehler melden

Was ist Multitasking?

Multitasking ist die Fähigkeit eines Betriebssystems, mehrere Programme scheinbar gleichzeitig auszuführen. Du kannst gleichzeitig Musik hören, in einem Browser surfen und ein Dokument bearbeiten – das fühlt sich an, als ob alles gleichzeitig passiert.

Aber führt eine CPU wirklich alles gleichzeitig aus?

Hinweis

Auf einem Computer mit nur einem CPU-Kern können Programme nicht wirklich gleichzeitig ausgeführt werden. Der Prozessor wechselt so schnell zwischen den Programmen, dass es für den Benutzer wie gleichzeitiges Ausführen wirkt. Das nennt man Kontextwechsel.

Wie funktioniert Multitasking?

Das Betriebssystem teilt die CPU-Zeit in kleine Zeitscheiben auf. Jedes laufende Programm bekommt abwechselnd kurze Zeitfenster (typisch wenige Millisekunden):

Zeit: |--Word--|--Browser--|--Musik--|--Word--|--Browser--|--Musik--|

Da die Umschaltung extrem schnell passiert (tausende Male pro Sekunde), merkt der Benutzer keine Unterbrechung.

Prozesse und Threads

BegriffBeschreibung
ProzessEin laufendes Programm mit eigenem Speicherbereich
ThreadEin Ausführungsstrang innerhalb eines Prozesses

Ein Browser (ein Prozess) kann mehrere Threads haben: einer lädt eine Seite, einer spielt ein Video ab, einer wartet auf Benutzereingaben.

CPU-Scheduling

Das Scheduling bestimmt, welches Programm als nächstes CPU-Zeit bekommt. Das Betriebssystem berücksichtigt dabei:

  • Priorität: Systemaufgaben haben oft höhere Priorität als normale Programme
  • Fairness: Jedes Programm soll regelmäßig CPU-Zeit bekommen
  • Reaktionszeit: Wichtig für interaktive Programme (schnelle Reaktion auf Klicks)
Tipp

Im Task-Manager (Windows) oder Aktivitätsanzeige (Mac) kannst du alle laufenden Prozesse sehen, wie viel CPU und RAM sie verwenden, und nicht reagierende Programme beenden.

Echtes Multitasking mit mehreren Kernen

Mit mehreren CPU-Kernen können Programme wirklich gleichzeitig ausgeführt werden – jeder Kern verarbeitet einen anderen Prozess. Bei 4 Kernen können 4 Programme gleichzeitig laufen, ohne Zeitscheiben aufteilen zu müssen.

import threading
import time

def aufgabe(name, dauer):
    print(f"{name} gestartet")
    time.sleep(dauer)
    print(f"{name} beendet")

# Zwei Threads gleichzeitig starten (simuliertes Multitasking)
t1 = threading.Thread(target=aufgabe, args=("Aufgabe A", 2))
t2 = threading.Thread(target=aufgabe, args=("Aufgabe B", 1))

t1.start()
t2.start()

t1.join()
t2.join()
print("Alle Aufgaben abgeschlossen!")

Probleme beim Multitasking

Deadlock

Zwei Programme warten jeweils darauf, dass das andere eine Ressource freigibt – es passiert nichts mehr. Wie zwei Autos, die sich gegenseitig blockieren.

Race Condition

Zwei Threads greifen gleichzeitig auf dieselben Daten zu und verändern sie – das Ergebnis ist unvorhersehbar.

Warnung

Zu viele Programme gleichzeitig zu öffnen kann den Computer verlangsamen. Das Betriebssystem muss mehr RAM verwalten und häufiger zwischen Programmen wechseln. Schließe Programme, die du nicht brauchst.

Übungsaufgaben

Erkläre in eigenen Worten, warum ein Computer mit nur einem CPU-Kern trotzdem Multitasking betreiben kann. Benutze das Beispiel der Zeitscheiben.

Antwort anzeigen
Das Betriebssystem teilt die CPU-Zeit in winzige Zeitscheiben auf (z. B. 10 Millisekunden). Jedes Programm bekommt abwechselnd eine Zeitscheibe. Da die Umschaltung extrem schnell ist (tausende Male pro Sekunde), merkt der Benutzer keine Unterbrechung – es wirkt wie gleichzeitige Ausführung.

Was ist der Unterschied zwischen einem Prozess und einem Thread? Nenne ein Beispiel, bei dem ein Programm mehrere Threads nutzt.

Antwort anzeigen
Ein Prozess ist ein laufendes Programm mit eigenem Speicherbereich. Ein Thread ist ein Ausführungsstrang innerhalb eines Prozesses. Beispiel: Ein Webbrowser (Prozess) hat mehrere Threads: ein Thread lädt die Webseite, ein anderer spielt ein eingebettetes Video ab, ein weiterer wartet auf Klicks des Benutzers.