Interrupts (PI4)
Aus C und Assembler mit Raspberry
Interrupts sind Signale, die den normalen Ablauf eines Prozessors unterbrechen, um spezielle Routineabläufe auszuführen. Sie spielen eine wichtige Rolle bei der Steuerung und Kommunikation in Echtzeitsystemen und bei der Handhabung von Hardware-Ereignissen.
Definition von Interrupts
Ein Interrupt ist ein Signal, das den CPU dazu veranlasst, den aktuell ausgeführten Befehlssatz zu unterbrechen und eine Interrupt Service Routine (ISR) oder Interrupt-Handler auszuführen.
Auslöser für Interrupts
Interrupts können durch verschiedene Ereignisse ausgelöst werden:
Externe Hardware-Ereignisse
- Tastatureingaben: Wenn eine Taste gedrückt wird.
- Mausbewegungen: Wenn die Maus bewegt wird oder eine Taste gedrückt wird.
- Timer: Timer können so konfiguriert werden, dass sie periodische Interrupts auslösen.
Interne Hardware-Ereignisse
- Peripheriegeräte: Ereignisse von Geräten wie Netzwerkadaptern, Festplatten, usw.
- Signale von Sensoren: Daten von Temperatursensoren, Beschleunigungssensoren, usw.
Betriebssystem-Ereignisse
- Systemaufrufe: Bestimmte Anfragen von Software an das Betriebssystem.
- Fehlermeldungen: Wenn Fehler wie Division durch Null oder Speicherzugriffsfehler auftreten.
Typen von Interrupts
Interrupts können auch kategorisiert werden in:
- Maskierbare Interrupts: Diese können vom CPU vorübergehend ignoriert oder maskiert werden.
- Nicht maskierbare Interrupts (NMI): Diese können nicht ignoriert werden und haben höchste Priorität.