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 7

Organizer Klassenreferenz

Ein Organizer ist ein spezieller Scheduler, der zusätzlich das Warten von Prozessen (Customer) auf Ereignisse erlaubt. Mehr ...

#include <organizer.h>

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

Aufstellung aller Elemente

Öffentliche Methoden

void block (Customer &customer, Waitingroom &waitingroom)
 Mit dieser Methode kann sich der laufende Prozess selbst blockieren.
void wakeup (Customer &customer)
 Mit dieser Methode kann ein schlafender Prozess geweckt werden.
void kill (Customer &customer)
 Mit dieser Methode kann ein Prozess einen anderen beenden.


Ausführliche Beschreibung

Ein Organizer ist ein spezieller Scheduler, der zusätzlich das Warten von Prozessen (Customer) auf Ereignisse erlaubt.

Dokumentation der Elementfunktionen

void Organizer::block ( Customer customer,
Waitingroom waitingroom 
)

Mit dieser Methode kann sich der laufende Prozess selbst blockieren.

Er gibt also den Prozessor an den nächsten lauffähigen Prozess ab. Außerdem vermerkt er, auf welches Ereignis (in welchem Wartezimmer) er nun wartet.

Parameter:
customer Prozess, der sich selbst blockieren möchte.
waitingroom Wartezimmer, in welchem der Prozess warten möchte.

void Organizer::wakeup ( Customer customer  ) 

Mit dieser Methode kann ein schlafender Prozess geweckt werden.

Das heißt, dass er wieder auf die Ready-Liste gesetzt wird. Dabei sollte auch markiert werden, dass der Prozess nun auf kein Ereignis mehr wartet.

Parameter:
customer Schlafender Prozess, der geweckt werden soll.

void Organizer::kill ( Customer customer  ) 

Mit dieser Methode kann ein Prozess einen anderen beenden.

Steht der Prozess customer auf der Ready-Liste, dann kann Scheduler::kill() verwendet werden. Wartet er dagegen auf ein Ereignis, so muss er von dessen Liste (also aus dem Wartezimmer) heruntergenommen werden.

Parameter:
customer Prozess, der beendet werden soll.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
  Impressum   Datenschutz Stand: 2012-02-01 10:07   BO, DL