Zum Inhalt springen
YellowBlue
IT-Grundlagen3 Min. Lesezeit

Prozesse und Threads im Betriebssystem

Kurzantwort

Ein Prozess ist ein laufendes Programm mit eigenem, abgeschottetem Speicher. Ein Thread ist ein Ausführungsstrang innerhalb eines Prozesses; mehrere Threads eines Prozesses teilen sich dessen Speicher. Weil ein Prozessorkern nur eine Sache zur Zeit ausführt, wechselt das Betriebssystem sehr schnell zwischen den Aufgaben hin und her (Scheduling) – so entsteht der Eindruck von Gleichzeitigkeit.

Teil des Lernpfads Hardware und Betriebssysteme · Schritt 10 von 13

Auf deinem Rechner laufen gefühlt Dutzende Programme gleichzeitig – Browser, Musik, Editor. Aber ein einzelner Prozessorkern kann immer nur eine Sache zur Zeit tun. Wie geht das zusammen? Die Antwort liegt in Prozessen, Threads und geschicktem Umschalten.

Prozess vs. Thread

ProzessThread
Speichereigener, isoliertergemeinsam im Prozess
Erzeugung„teuer"„günstig"
Absturzbetrifft nur diesen Prozesskann den ganzen Prozess reißen
Beispielein geöffnetes ProgrammRechtschreibprüfung nebenher

Wie entsteht scheinbare Gleichzeitigkeit?

Ein einzelner Kern führt zu jedem Zeitpunkt nur einen Befehl aus. Das Betriebssystem teilt die Rechenzeit deshalb in winzige Zeitscheiben und wechselt blitzschnell zwischen den Aufgaben hin und her. Diese Verteilung übernimmt der Scheduler.

Warum das in der Praxis zählt

Selbstkontrolle

Selbstkontrolle

Worin unterscheiden sich Prozess und Thread beim Speicher?

Häufige Fragen

Was macht der Scheduler?

Der Scheduler ist der Teil des Betriebssystems, der entscheidet, welcher Prozess oder Thread als Nächstes wie lange den Prozessor bekommt. Er sorgt für eine faire und sinnvolle Verteilung der Rechenzeit, damit kein Programm die anderen aushungert und interaktive Anwendungen flüssig bleiben.

Was ist ein Kontextwechsel?

Ein Kontextwechsel ist das Umschalten des Prozessors von einer Aufgabe zur nächsten. Dabei muss der Zustand der bisherigen Aufgabe gesichert und der der neuen geladen werden. Das kostet etwas Zeit, weshalb sehr häufige Wechsel Leistung kosten. Trotzdem ermöglicht das Umschalten überhaupt erst das Multitasking.

Was ist der Unterschied zwischen Nebenläufigkeit und Parallelität?

Nebenläufigkeit bedeutet, dass mehrere Aufgaben abwechselnd bearbeitet werden und sich zeitlich überlappen – auf einem Kern durch schnelles Umschalten. Parallelität bedeutet echte Gleichzeitigkeit, die nur mit mehreren Kernen möglich ist. Nebenläufig kann auch ein Einkernsystem sein, parallel nur ein Mehrkernsystem.

Warum kann ein Thread den ganzen Prozess zum Absturz bringen?

Weil sich die Threads eines Prozesses den gemeinsamen Speicher teilen. Ein schwerwiegender Fehler in einem Thread, etwa ein Zugriff auf ungültigen Speicher, kann diesen gemeinsamen Zustand beschädigen und das Betriebssystem beendet dann den gesamten Prozess. Getrennte Prozesse sind dagegen besser voneinander isoliert.

Weiterlesen: Linux-Grundlagen: die Kommandozeile · Virtualisierung und virtuelle Maschinen

Das Wichtigste in Kürze

  • Prozess: laufendes Programm mit eigenem, isoliertem Speicher.
  • Thread: Ausführungsstrang im Prozess; Threads teilen sich den Speicher.
  • Ein Kern arbeitet eine Sache zur Zeit; der Scheduler verteilt die Rechenzeit.
  • Nebenläufigkeit (abwechselnd) ≠ Parallelität (echte Mehrkern-Gleichzeitigkeit).
  • Im Task-Manager/top Prozesse beobachten und beenden.

Schlagwörter

Verwandte Beiträge

IT-Grundlagen4 Min. Lesezeit

Benutzer- und Rechteverwaltung im Betriebssystem

Warum Betriebssysteme mit Benutzern, Gruppen und Rechten arbeiten, wie Lese-, Schreib- und Ausführrechte funktionieren und was minimale Rechte bedeuten.

IT-Grundlagen4 Min. Lesezeit

Dateisysteme: NTFS, ext4 und FAT im Vergleich

Was ein Dateisystem leistet, wie sich NTFS, ext4, FAT32 und exFAT unterscheiden und wann man welches nimmt – mit Grenzen bei Dateigröße und Kompatibilität.

IT-Grundlagen4 Min. Lesezeit

Linux-Grundlagen: die Kommandozeile

Warum Linux in der IT so wichtig ist und wie die Kommandozeile funktioniert: die wichtigsten Befehle zum Navigieren, für Dateien und Rechte.