OOStuBS - Technische Informatik II (TI-II)
2.4
|
Administrationseinheit für die Interruptweitergabe. Mehr ...
#include <interruptstorage.h>
Öffentliche Methoden | |
void | assign (int iNum, InterruptHandler &handler) |
bindet ein InterruptHandler -Objekt an einen speziellen Interrupt | |
bool | currentInterrupt (int &iNum) |
Fetch the currently active interrupt if there is one. | |
void | handle (int iNum) |
Führt den Handler für einen speziellen Interrupt aus. | |
InterruptStorage () | |
Standardkonstruktor. |
Geschützte, statische Methoden | |
static bool | iNum2Index (int iNum, unsigned int &index) |
Geschützte Attribute | |
InterruptHandler * | mHandler [mMaxINum-mMinINum] |
Array von Zeigern auf Handler-Objekte. | |
Panic | panic |
Statische, geschützte Attribute | |
static const int | mMaxINum = MAX_INTERRUPT_NUMBER |
static const int | mMinINum = MIN_INTERRUPT_NUMBER |
Administrationseinheit für die Interruptweitergabe.
Diese Klasse abstrahiert die Verwaltung und Ausführung von Interrupts. Sie ermöglicht dem System für jeden Hardware- und jeden Softwareinterrupt eine entsprechende Behandlungsroutine zu vergeben und auszuführen.
Definiert in Zeile 37 der Datei interruptstorage.h.
InterruptStorage::InterruptStorage | ( | ) |
Standardkonstruktor.
Er initialisiert das Array von Handler-Zeigern mit dem Panic -Handler.
Definiert in Zeile 28 der Datei interruptstorage.cc.
void InterruptStorage::assign | ( | int | iNum, |
InterruptHandler & | handler | ||
) |
bindet ein InterruptHandler -Objekt an einen speziellen Interrupt
iNum | Zahl des Interrupts, welche mit dem Handler behandelt werden soll |
handler | Referenz auf den Handler für den Interrupt |
Erneute Implementation in InterruptManager.
Definiert in Zeile 33 der Datei interruptstorage.cc.
bool InterruptStorage::currentInterrupt | ( | int & | iNum | ) |
Fetch the currently active interrupt if there is one.
If an interrupt is currently active true is returned and its number is stored in iNum, otherwise false is returned and iNum is left untouched.
iNum | a reference to store the interrupt's number to |
void InterruptStorage::handle | ( | int | iNum | ) |
Führt den Handler für einen speziellen Interrupt aus.
iNum | Nummer des aufgetretenen Interrupts |
Definiert in Zeile 39 der Datei interruptstorage.cc.
|
staticprotected |
Definiert in Zeile 19 der Datei interruptstorage.cc.
|
protected |
Array von Zeigern auf Handler-Objekte.
Für jeden möglichen Interrupt soll ein Element vorgehalten werden. Mögliche CPU exceptions können maskiert werden in dem MIN_INTERRUPT_NUMBER auf den kleinsten zu verwaltenden Interrupt gesetzt wird.
Definiert in Zeile 63 der Datei interruptstorage.h.
|
staticprotected |
Größte mögliche Interruptnummer
Definiert in Zeile 42 der Datei interruptstorage.h.
|
staticprotected |
Kleinste mögliche Interruptnummer
Definiert in Zeile 46 der Datei interruptstorage.h.
|
protected |
Ein Panic-Handler für unerwartet Interrupts
Definiert in Zeile 51 der Datei interruptstorage.h.