Interrupt

Vereinfachter Ablauf eines Interrupts anhand eines Diagramms
Vereinfachter Ablauf eines Interrupts anhand eines Diagramms

In der Informatik versteht man unter einem Interrupt (englisch to interrupt, „unterbrechen“ nach lateinisch interruptus, dem Partizip Perfekt Passiv von interrumpere, unterbrechen) eine kurzfristige Unterbrechung der normalen Programmausführung,[1] um einen in der Regel kurzen, aber zeitlich kritischen, Vorgang abzuarbeiten.

Das auslösende Ereignis wird Unterbrechungsanforderung (englisch Interrupt Request, IRQ) genannt. Nach dieser Anforderung führt der Prozessor eine Unterbrechungsroutine aus (auch Unterbrechungsbehandlung genannt, engl. interrupt handler, interrupt service routine oder kurz ISR). Die Unterbrechungsroutine wird (bei entsprechenden Prozessoren) mit erweiterten Privilegien ausgeführt. Im Anschluss an die Unterbrechungsroutine wird der vorherige Zustand des Prozessors (inkl. Privilegierung) wiederhergestellt und die unterbrochene Programmausführung dort fortgeführt, wo sie unterbrochen wurde.

Interrupts (genauer: Hardware-Interrupts) werden durch asynchrone externe Ereignisse ausgelöst.[2] Asynchron bedeutet in diesem Zusammenhang, dass die laufende Programmausführung nicht an immer der gleichen Stelle unterbrochen wird. Im Gegensatz dazu kann ein Interrupt bei vielen Prozessoren auch durch den laufenden Programmcode selbst mittels eines Maschinenbefehls („INT nn“) ausgelöst werden (Software-Interrupt). Effektiv ist dies eher mit einem Unterprogramm-Aufruf zu vergleichen; einzelne Betriebssysteme implementieren so Systemaufrufe.

  1. A. Metzlar: BIOS. Das Praxisbuch. Franzis, 2004, ISBN 978-3-7723-6706-9, S. 379.
  2. W. Stallings: Operating Systems: Internals and Design Principles. Prentice Hall International, 2000, ISBN 978-0-13-031999-9, S. 136.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search