Weiter: C.2 Identifikation und
Hinauf: C Systemprogrammierung
Zurück: C Systemprogrammierung
Interrupts werden gewöhnlich von der Hardware oder von System-Software
ausgelöst.
Jener Teil der Software, der abläuft, wenn ein Interrupt auftritt,
heißt Interrupt-Handler.
Wenn ein bestimmter Interrupt den Ablauf eines bestimmten Interrupt-Handlers
aktiviert, so sagt man dieser Interrupt-Handler ist mit dem Interrupt
verbunden (attached).
Als Interrupt-Handler kommen nur parameterlose Prozeduren geschützter Objekte
in Frage.
Um das alles zu bewerkstelligen, gibt es zwei reservierte Pragmas: Mit
pragma Interrupt_Handler(Name);
wird festgelegt, daß die geschützte Prozedur <Name> als Interrupt-Handler
in Frage kommt.
Die entsprechende Spezifikation des geschützten Objekts muß eine
Bibliothekseinheit sein.
Mit
pragma Attach_Handler(Name,expression);
wird ein Interrupt zu einem Interrupt-Handler gebunden, dabei muß
expression vom Typ Interrupts.Interrupt_ID sein.
Mit dem Paket Ada.Interrupts können Interrupt-Handler
dynamisch verbunden oder entbunden werden.
Genaueres findet sich in der folgenden Spezifikation.
Johann Blieberger
Wed Feb 11 09:58:52 MET 1998