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