Interrupts - wenn die Hardware das Wort ergreift

01.12.2025 5 Min. Lesezeit

Bisher haben wir Betriebssysteme, Multitasking, Protected Mode, Privilegstufen und Virtualisierung betrachtet. All diese Konzepte setzen stillschweigend voraus, dass der Prozessor jederzeit unterbrochen werden kann. Genau an dieser Stelle treten Interrupts auf den Plan. Sie sind das Mittel, mit dem externe Ereignisse in einen ansonsten streng sequenziellen, deterministischen Rechenablauf eingreifen dürfen. Interrupts sind kein Nebenmechanismus, sondern ein fundamentales Steuerinstrument moderner Computersysteme. Ohne sie wäre der Prozessor ein blind rechnender Automat - unfähig, auf die Außenwelt zu reagieren.

Das Grundproblem: Die CPU kennt keine Ereignisse

Ein Prozessor arbeitet prinzipiell linear. Er holt eine Instruktion, führt sie aus, holt die nächste, und so weiter. Dieses Modell kennt keine Überraschungen. Ohne Intervention würde die CPU niemals bemerken, dass:

  • eine Taste gedrückt wurde
  • ein Netzwerkpaket eingetroffen ist
  • eine Festplattenoperation abgeschlossen wurde
  • ein Zeitintervall verstrichen ist

Polling - also ständiges Nachfragen - wäre theoretisch möglich, aber ineffizient und in vielen Fällen unpraktikabel oder unmöglich. Ein Prozessor, der permanent prüft, ob „etwas passiert ist“, tut kaum noch sinnvolle Arbeit.

Interrupts sind die Antwort auf dieses Problem.

Was ein Interrupt wirklich ist

Ein Interrupt ist ein asynchrones Signal an den Prozessor, das ihn zwingt, seine aktuelle Arbeit zu unterbrechen und eine vordefinierte Reaktion auszuführen. Diese Reaktion ist kein normales Programm, sondern spezieller Code unter Kontrolle des Betriebssystems.

Wichtig ist:
Der Interrupt kommt nicht vom laufenden Programm, sondern von außen oder von der CPU selbst. Er durchbricht die normale Ablaufkontrolle. Der Prozessor erkennt einen Interrupt, hält an, sichert den aktuellen Ausführungszustand und springt zu einem festgelegten Einsprungpunkt. Nach Abarbeitung dieses Interrupts wird die unterbrochene Arbeit fortgesetzt - als wäre nichts geschehen. Diese Fähigkeit ist essenziell für Reaktionsfähigkeit.

Synchrone und asynchrone Unterbrechungen

Nicht alle Interrupts sind gleich. Man unterscheidet grundsätzlich zwischen synchronen und asynchronen Auslösern. Synchrone Interrupts entstehen als direkte Folge einer Instruktion. Beispiele dafür sind:

  • ungültige Befehle
  • Zugriffe auf nicht erlaubten Speicher
  • explizite Systemaufrufe

Das Programm verursacht sie selbst - bewusst oder unbewusst.
Asynchrone Interrupts hingegen entstehen unabhängig vom laufenden Code:

  • eine Netzwerkkarte meldet neue Daten
  • ein Timer läuft ab
  • ein Gerät signalisiert Abschluss

Gerade diese asynchronen Interrupts machen ein System lebendig.

Warum Interrupts Privilegstufen brauchen

Interrupts sind per Definition mächtig. Sie unterbrechen Programme, verändern Kontrollfluss und greifen tief in den Systemzustand ein. Deshalb dürfen sie nicht beliebig ausgelöst oder behandelt werden.

Im Protected Mode ist festgelegt:

Interrupts wechseln immer in einen privilegierteren Kontext
Benutzerprogramme können Interrupts nicht direkt behandeln
Die CPU erzwingt diesen Übergang

Das ist entscheidend. Ein Benutzerprogramm darf niemals selbst entscheiden, wie ein Hardwareereignis zu behandeln ist. Es darf höchstens informiert werden - nicht eingreifen. Interruptbehandlung: ein kontrollierter Machtwechsel

Wenn ein Interrupt eintritt, passiert auf Prozessor‑Ebene eine genau definierte Abfolge:

Die aktuelle Ausführung wird unterbrochen
Der Kontext wird gesichert
Die CPU wechselt in einen privilegierten Modus
Eine Interruptbehandlungsroutine wird ausgeführt
Nach Abschluss wird der vorherige Zustand wiederhergestellt

Dieser Vorgang ist tief im Prozessor verankert. Er ist nicht verhandelbar und nicht umgehbar. Das Betriebssystem darf gestalten, wie es reagiert, aber nicht ob. Interrupts sind damit ein perfektes Beispiel für kontrollierte Machtübernahme.

Hardware‑Interrupts: Die Stimme der Geräte

Hardware‑Interrupts werden von Geräten ausgelöst. Sie sind die Art und Weise, wie die Peripherie mit dem System kommuniziert. Ein Gerät arbeitet autonom. Es lädt Daten, verarbeitet Signale oder wartet auf externe Ereignisse. Wenn etwas Relevantes geschieht, signalisiert es dies per Interrupt.

Dabei ist wichtig:
Das Gerät liefert keine Logik, sondern nur ein Signal. Die Bedeutung dieses Signals wird allein vom Betriebssystem interpretiert. Ohne Hardware‑Interrupts müsste das Betriebssystem jedes Gerät permanent überwachen. Moderne Systeme mit hunderten Geräten wären so nicht betreibbar.

Software‑Interrupts: gewollte Unterbrechungen

Neben Hardware‑Interrupts existieren Software‑Interrupts. Sie werden bewusst durch Programme ausgelöst, um einen privilegierten Dienst anzufordern. Das klassische Beispiel ist der Systemaufruf. Ein Benutzerprogramm kann keine privilegierten Operationen durchführen. Stattdessen bittet es das Betriebssystem darum - über einen definierten Unterbrechungsmechanismus.

Damit entsteht ein sicherer Übergang:

das Programm signalisiert seinen Wunsch
das Betriebssystem entscheidet über Erlaubnis und Ausführung
das Ergebnis wird zurückgegeben

Software‑Interrupts sind damit der formalisierte Dialog zwischen unprivilegiertem und privilegiertem Code.

Timer‑Interrupts: die Grundlage von Multitasking

Der vielleicht wichtigste Interrupt ist der Timer‑Interrupt. Er wird regelmäßig durch eine Hardware‑Uhr ausgelöst und zwingt das Betriebssystem, die Kontrolle zurückzuerlangen. Ohne Timer‑Interrupts gäbe es kein präemptives Multitasking. Ein Programm könnte die CPU unbegrenzt blockieren. Erst durch diese periodische Unterbrechung kann das Betriebssystem:

Prozesse unterbrechen
Rechenzeit neu verteilen
Prioritäten durchsetzen

Der Timer‑Interrupt ist damit die eigentliche Energiequelle des Multitaskings.

Interrupts in virtualisierten Systemen

In virtualisierten Umgebungen wird das Interrupt‑Modell noch komplexer. Hardware‑Interrupts gehören nicht mehr direkt einem Betriebssystem, sondern dem Hypervisor. Der Hypervisor empfängt den Interrupt, entscheidet:

welchem Gast er gehört
ob er weitergereicht wird
wie er abstrahiert wird

Der Gast erhält einen virtuellen Interrupt, der so wirkt, als käme er direkt von der Hardware. Damit wird klar: Interrupts sind nicht nur Signale, sondern Instrumente der Machtverteilung. Wer Interrupts kontrolliert, kontrolliert das System.

Interrupt‑Stürme und ihre Gefahren

Interrupts sind mächtig - zu mächtig, wenn sie außer Kontrolle geraten. Ein defektes Gerät oder fehlerhafter Treiber kann einen sogenannten Interrupt‑Storm auslösen, bei dem das System nahezu ausschließlich Interrupts verarbeitet. Das Ergebnis ist ein System, das zwar „läuft“, aber keine sinnvolle Arbeit mehr erledigt. Moderne Betriebssysteme müssen daher Interrupts drosseln, bündeln und priorisieren. Auch hier zeigt sich: Kontrolle ist zentral.

Fazit: Interrupts sind gezähmte Unvorhersehbarkeit

Interrupts sind der Mechanismus, mit dem ein strikt deterministischer Prozessor auf eine nicht‑deterministische Welt reagieren kann. Sie erlauben Reaktion ohne Chaos, Unterbrechung ohne Kontrollverlust und Parallelität ohne echte Gleichzeitigkeit. Ohne Interrupts gäbe es:

  • kein Multitasking
  • keine Geräte
  • keine Systemaufrufe
  • keine Virtualisierung
  • keine Stabilität

Sie sind die legitime Art, den linearen Ablauf zu durchbrechen - unter strikter Kontrolle.

Schlagworte Hardware Betriebssystem