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 2

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: 2011-11-09 10:41   BO, DL