Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Betriebssysteme
 
  Vorlesung
    - UnivIS-Infos
    - Inhalt
    - Folien
    - Videos
 
  Übungen
    - UnivIS-Infos
    - Inhalt
    - Module
    - Mailingliste
    - Ergänzendes Material
    - Terminübersicht
    - Aufgaben
       * Umgebung
       * Typische Fehler
       * Aufgabe 1
          Dokumentation
       * Aufgabe 2
          Dokumentation
       * Aufgabe 3
          Dokumentation
       * Aufgabe 4
          Dokumentation
       * Aufgabe 5
          Dokumentation
       * Aufgabe 6
          Dokumentation
       * Aufgabe 7
          Dokumentation
 
  Evaluation
Department Informatik  >  Informatik 4  >  Lehre  >  WS 2011/12  >  Betriebssysteme  >  Übungen  >  Aufgaben  >  Aufgabe 3

Gate Klassenreferenz

Klasse von Objekten, die in der Lage sind, Unterbrechungen zu behandeln. Mehr ...

#include <gate.h>

Klassendiagramm für Gate:
Zusammengehörigkeiten von Gate:

Aufstellung aller Elemente

Öffentliche Methoden

 Gate ()
 Konstruktor: Initialisierung der Attribute.
virtual ~Gate ()
 Destruktor.
virtual bool prologue ()=0
 Unterbrechungsbehandlungsroutine, die sofort nach Auftreten der Unterbrechung asynchron zu anderen Kernaktivitäten ausgeführt wird.
virtual void epilogue ()
 Eine gegebenenfalls verzögerte, synchronisiert ausgeführte Unterbrechungsbehandlung.
void queued (bool q)
 Speichert, ob das jeweilige Objekt sich gerade in einer Epilog-Warteschlange befindet.
bool queued ()
 Methode zum Abfragen, ob sich das jeweilige Objekte gerade in einer Epilog-Warteschlange befindet.


Ausführliche Beschreibung

Klasse von Objekten, die in der Lage sind, Unterbrechungen zu behandeln.

Die Klassen aller Objekte, die in der Plugbox eingetragen werden sollen, müssen von Gate abgeleitet werden und die virtuelle Methode prologue() definieren. Für die virtuelle Methode epilogue() kann in Gate eine leere Implementierung angegeben werden, so dass abgeleitete Treiberklassen nicht unbedingt einen Epilog definieren müssen. Um feststellen, ob ein Gate-Objekt schon in eine Epilog-Warteschlange einhängt wurde, soll ein entsprechendes boolesches Attribut in die Klasse aufgenommen werden, das durch Zugriffsfunktionen gesetzt und abgefragt werden kann.


Beschreibung der Konstruktoren und Destruktoren

virtual Gate::~Gate (  )  [inline, virtual]

Destruktor.

Klassen mit virtuellen Methoden sollten grundsätzlich einen virtuellen Destruktor besitzen, der auch leer sein darf. Bei OO-Stubs beruhigt das den Compiler, bei anderen Systemen garantiert das, dass die Speicherfreigabe mit delete für Objekte der abgeleiteten Klassen korrekt funktioniert.


Dokumentation der Elementfunktionen

virtual bool Gate::prologue (  )  [pure virtual]

Unterbrechungsbehandlungsroutine, die sofort nach Auftreten der Unterbrechung asynchron zu anderen Kernaktivitäten ausgeführt wird.

Rückgabe:
gibt an, ob der entsprechende Epilog auszuführen ist.

Implementiert in Keyboard und Panic.

void Gate::queued ( bool  q  )  [inline]

Speichert, ob das jeweilige Objekt sich gerade in einer Epilog-Warteschlange befindet.

Parameter:
gibt an, ob Objekt in Warteschlange ist.

bool Gate::queued (  )  [inline]

Methode zum Abfragen, ob sich das jeweilige Objekte gerade in einer Epilog-Warteschlange befindet.

Rückgabe:
true, falls Objekt in der Epilog-Warteschlange ist, sonst false.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
  Impressum   Datenschutz Stand: 2011-12-14 13:53   BO, DL