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 6

Plugbox Klassenreferenz

Abstraktion einer Interruptvektortabelle. Mehr ...

#include <plugbox.h>

Zusammengeh├Ârigkeiten von Plugbox:

Aufstellung aller Elemente

├ľffentliche Typen

enum  Vector { timer = 32, keyboard = 33, assassin = 100, wakeup = 101 }
 Liste der verwendeten Interruptvektoren. Mehr ...

├ľffentliche Methoden

 Plugbox ()
 Initialisierung der Gate map mit einem Default Gate.
void assign (unsigned int vector, Gate &gate)
 Einst├Âpseln einer Behandlungsroutine, die in Form eines Gate-Objekts vorhanden sein muss.
Gatereport (unsigned int vector)
 Abfrage eines eingetragenen Gate Objekts.


Ausf├╝hrliche Beschreibung

Abstraktion einer Interruptvektortabelle.

Damit kann man die Adresse der Behandlungsroutine fuer jeden Hardware- und Softwareinterrupt und jede Prozessorexception festlegen. Jede Unterbrechungsquelle wird durch ein Gate-Objekt repr├Ąsentiert. Diese liegen in einem Feld(128 Elemente). Der Index in diesen Feld ist dabei die Vektornummer.


Dokumentation der Aufz├Ąhlungstypen

Liste der verwendeten Interruptvektoren.

In OO/MP-Stubs ben├Âtigen wir lediglich Vektornummern f├╝r den Timerbaustein und die Tastatur

Aufz├Ąhlungswerte:
timer  Interruptvektornummer f├╝r den Timerinterrupt.
keyboard  Interruptvektornummer f├╝r den Keyboardinterrupt.
assassin  Interruptvektornummer f├╝r den Assassin; nur in MPStuBS ben├Âtigt.
wakeup  Interruptvektornummer zum Aufwecken von schlafenden CPUs; nur in MPStubs ben├Âtigt.


Beschreibung der Konstruktoren und Destruktoren

Plugbox::Plugbox (  ) 

Initialisierung der Gate map mit einem Default Gate.

Im Konstruktor wird f├╝r alle Unterbrechungen und Ausnahmen das global bekannte Panic Objekt panic eingetragen, das eine minimale Unterbrechungsbehandlung sicherstellt.


Dokumentation der Elementfunktionen

void Plugbox::assign ( unsigned int  vector,
Gate gate 
)

Einst├Âpseln einer Behandlungsroutine, die in Form eines Gate-Objekts vorhanden sein muss.

Parameter:
vector Interruptvektor, f├╝r den die Behandlungsroutine registriert werden soll.
gate Objekt mit Behandlungsroutine

Gate & Plugbox::report ( unsigned int  vector  ) 

Abfrage eines eingetragenen Gate Objekts.

Parameter:
vector Abzufragende Interruptvektornummer
R├╝ckgabe:
Referenz auf das mit vector asoziierte Gateobjekt


Die Dokumentation f├╝r diese Klasse wurde erzeugt aufgrund der Dateien:
  Impressum   Datenschutz Stand: 2012-01-27 00:40   BO, DL