Ein externer Interrupt ist ein von einer externen Quelle erzeugtes Signal, das eine Unterbrechung des Hauptprogramms verursacht. Bei diesem Signal kann es sich entweder um ein Ereignis oder einen Befehl handeln, und es wird in der Regel von einem Peripheriegerät wie einer Tastatur, einer Maus, einem Joystick oder einem anderen Eingabegerät erzeugt. Wenn eine externe Unterbrechung ausgelöst wird, stoppt der Prozessor die Ausführung seines aktuellen Programms und beginnt stattdessen mit der Ausführung einer Unterbrechungsroutine (ISR). Diese ISR kann dann je nach Art der externen Unterbrechung, durch die sie ausgelöst wurde, die erforderliche Aufgabe erledigen.
Externe Interrupts funktionieren, indem ein Peripheriegerät mit dem Interrupt-Controller des Prozessors verbunden wird. Der Interrupt-Controller sendet dann ein Signal an den Prozessor, wenn er eine Interrupt-Anforderung vom Peripheriegerät feststellt. Der Prozessor reagiert daraufhin, indem er sein aktuelles Programm anhält und eine Interrupt-Service-Routine (ISR) ausführt. Die ISR kann dann die Aufgabe entsprechend der Art der externen Unterbrechung bearbeiten.
Externe Interrupts können in zwei Hauptkategorien unterteilt werden: Hardware-Interrupts und Software-Interrupts. Hardware-Interrupts werden von Hardware-Geräten wie z. B. einer Tastatur oder einer Maus erzeugt und normalerweise vom Interrupt-Controller des Prozessors verwaltet. Software-Interrupts hingegen werden von Benutzerprogrammen oder Betriebssystemen ausgelöst und müssen von der Software verwaltet werden.
Hardware-Interrupts werden von Hardware-Geräten wie einer Tastatur oder einer Maus erzeugt. Wenn ein Hardware-Gerät eine Interrupt-Anforderung an den Prozessor sendet, sendet der Interrupt-Controller des Prozessors ein Signal an den Prozessor. Der Prozessor reagiert daraufhin, indem er sein aktuelles Programm anhält und eine Interrupt-Service-Routine (ISR) ausführt.
Software-Interrupts werden von Benutzerprogrammen oder Betriebssystemen erzeugt. Wenn ein Software-Interrupt ausgelöst wird, hält der Prozessor die Ausführung seines aktuellen Programms an und beginnt stattdessen mit der Ausführung einer Interrupt-Service-Routine (ISR). Diese ISR kann dann je nach Art der Software-Unterbrechung, von der sie ausgelöst wurde, die erforderliche Aufgabe erledigen.
Externe Unterbrechungen können in vielerlei Hinsicht von Vorteil sein. Sie können verwendet werden, um zeitkritische Aufgaben zu verwalten und können auch dazu beitragen, die Systemleistung zu verbessern, indem sie es dem Prozessor ermöglichen, Aufgaben so schnell wie möglich auszuführen. Darüber hinaus können externe Interrupts verwendet werden, um mehrere Geräte gleichzeitig zu verwalten, was eine effizientere Nutzung der Prozessorressourcen ermöglicht.
Externe Unterbrechungen können auch einige negative Auswirkungen haben. Wenn zum Beispiel die Interrupt-Service-Routine (ISR) nicht korrekt geschrieben ist, kann sie Systemfehler verursachen oder sogar das System zum Absturz bringen. Außerdem können externe Interrupts dazu führen, dass ein System nicht mehr reagiert, wenn zu viele Interrupts gleichzeitig auftreten.
Ein externer Interrupt-Controller kann verwendet werden, um mehrere externe Interrupts gleichzeitig zu verwalten. Dies kann in Situationen von Vorteil sein, in denen mehrere Geräte gleichzeitig Unterbrechungsanforderungen an den Prozessor senden. Ein externer Interrupt-Controller kann auch zur Verbesserung der Systemleistung beitragen, indem er die Interrupt-Anforderungen effizienter verwaltet.
Externe Interrupts sind ein leistungsfähiges Instrument zur Verwaltung zeitkritischer Aufgaben und zur Verbesserung der Systemleistung. Es muss jedoch sichergestellt werden, dass die Interrupt-Service-Routine (ISR) korrekt geschrieben ist, um Systemfehler zu vermeiden. Außerdem kann ein externer Interrupt-Controller verwendet werden, um mehrere Interrupts gleichzeitig zu verwalten und die Systemleistung zu verbessern.
Ein interner Interrupt wird auch als Ausnahme bezeichnet. Ausnahmen sind Ereignisse, die während der Ausführung eines Programms auftreten und den normalen Fluss der Anweisungen unterbrechen. Sie können durch Fehler im Code oder durch Ereignisse verursacht werden, die außerhalb der Kontrolle des Programms liegen, wie z. B. Hardwareausfälle.
Ein Hardware-Interrupt ist ein elektrisches Signal, das einen Mikroprozessor veranlasst, seine aktuelle Aktivität zu unterbrechen und sofort mit der Ausführung eines speziellen Programms zu beginnen, das als Interrupt-Handler bezeichnet wird. Der Zweck eines Interrupt-Handlers ist es, das elektrische Signal zu bedienen und dann die unterbrochene Aktivität wieder aufzunehmen.
Die vier Haupttypen von Unterbrechungen sind:
1. durch Hardware-Geräte wie Tastatur oder Maus verursachte Unterbrechungen.
2. durch Software verursachte Unterbrechungen, z. B. durch einen Prozess oder einen Systemaufruf.
3. durch einen Fehler verursachte Unterbrechungen, wie z. B. ein Divide-by-Zero-Fehler.
4. durch ein Signal verursachte Unterbrechungen, z. B. ein SIGINT-Signal.
Es gibt vier Klassen von Interrupts:
1. Hardware-Interrupts: Diese werden von Hardware-Geräten wie dem System-Timer, der Tastatur oder der Maus erzeugt.
2. Software-Interrupts: Diese werden von Software-Anwendungen oder Betriebssystem-Komponenten erzeugt.
3. CPU-Interrupts: Diese werden von der CPU selbst erzeugt, normalerweise um einen Fehlerzustand anzuzeigen.
4. externe Interrupts: Diese werden von externen Geräten erzeugt, z. B. von einem USB-Gerät oder einem anderen Computer.
Es gibt insgesamt vier externe Interrupts: zwei für die Tastatur und zwei für die Maus.