SBY

Prozesse, Threads und Interrupts

Prozesse, Speichersegmente, Ein- und Ausgabe, Interrupts, System Calls, PCB und Threads.

Prozesse, Threads und Interrupts

Ein Prozess ist ein Programm in Ausführung. Erst wenn Programmcode geladen wird, Ressourcen erhält und vom Betriebssystem verwaltet wird, entsteht daraus ein laufender Prozess.

Speicherbereiche eines Prozesses

Ein Prozess besteht typischerweise aus mehreren Speicherbereichen.

BereichInhalt
TextProgrammcode, meist nur lesbar.
DataGlobale und statische Variablen.
HeapDynamisch zur Laufzeit reservierter Speicher.
StackFunktionsaufrufe, lokale Variablen, Parameter und Rücksprungadressen.

Diese Trennung hilft dem Betriebssystem, Speicher kontrolliert zu verwalten und Schutzrechte zu setzen.

Ein- und Ausgabe

I/O-Operationen sind oft deutlich langsamer als CPU-Operationen. Ein Prozess kann zum Beispiel auf Festplatte, Netzwerk oder Benutzereingaben warten.

Zwei grundlegende Möglichkeiten:

VerfahrenBeschreibung
PollingCPU fragt regelmäßig nach, ob ein Gerät bereit ist.
InterruptsGerät meldet sich aktiv bei der CPU.

Polling kann CPU-Zeit verschwenden. Interrupts sind effizienter, weil die CPU währenddessen andere Arbeit erledigen kann.

Interrupts

Ein Interrupt unterbricht den normalen Programmablauf. Danach führt die CPU eine passende Interrupt-Service-Routine aus.

Ablauf vereinfacht:

  1. Ein Ereignis tritt auf.
  2. Die CPU erkennt den Interrupt.
  3. Aktueller Zustand wird gesichert.
  4. Die Interrupt-Service-Routine wird ausgeführt.
  5. Der ursprüngliche Prozess wird fortgesetzt.

Arten:

  • Hardware-Interrupts
  • Software-Interrupts
  • Traps
  • Exceptions

System Calls

Normale Programme dürfen nicht direkt auf kritische Ressourcen zugreifen. Dafür verwenden sie System Calls.

Beispiele:

  • Datei öffnen
  • Datei lesen
  • Datei schreiben
  • Prozess erzeugen
  • Prozess beenden
  • Nachrichten zwischen Prozessen senden oder empfangen

System Calls wechseln kontrolliert vom User Mode in den Kernel Mode.

Process Control Block

Das Betriebssystem speichert Prozessinformationen im Process Control Block.

Typische Inhalte:

  • Prozess-ID
  • Prozesszustand
  • Instruction Pointer / Program Counter
  • CPU-Register
  • Speicherinformationen
  • Accounting-Informationen
  • Informationen zu geöffneten Ressourcen

Der PCB ist wichtig, damit ein Prozess nach einer Unterbrechung korrekt weiterlaufen kann.

Prozesszustände

Ein Prozess kann verschiedene Zustände haben.

ZustandBedeutung
NewProzess wird erstellt.
ReadyProzess ist bereit und wartet auf CPU-Zeit.
RunningProzess läuft gerade auf der CPU.
Waiting / BlockedProzess wartet auf ein Ereignis.
TerminatedProzess wurde beendet.

Scheduling entscheidet, welcher bereite Prozess als Nächstes ausgeführt wird.

Threads

Ein Prozess kann mehrere Threads enthalten. Threads teilen sich Ressourcen des Prozesses, können aber unabhängig ausgeführt werden.

Vorteile:

  • bessere Reaktionsfähigkeit
  • einfachere Ressourcenteilung
  • parallele oder nebenläufige Ausführung
  • effizienter als mehrere vollständig getrennte Prozesse

Risiko: Weil Threads gemeinsamen Speicher nutzen, entstehen leichter Race Conditions.

Merksatz

Prozesse geben Programmen eine geschützte Ausführungsumgebung. Threads machen Arbeit innerhalb eines Prozesses parallelisierbar, benötigen aber saubere Synchronisation.

Zuletzt aktualisiert: 6. Juni 2026