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
 
  Übungen
    - UnivIS-Infos
    - Inhalt
    - Ergänzendes Material
    - Terminübersicht
    - Aufgaben
       * Umgebung
       * Typische Fehler
       * A 1
       * A 2
       * A 3
       * A 4
       * A 5
       * A 6
       * A 7
 
  Evaluation
Department Informatik  >  Informatik 4  >  Lehre  >  WS 2007/08  >  Betriebssysteme  >  Übungen  >  Aufgaben  >  Aufgabe 5  >  Klasse Scheduler

Klasse Scheduler

Einordnung in die Gesamtstruktur

Modul
thread
Basisklassen
Dispatcher
abgeleitete Klassen
Guarded_Scheduler
Erstellungszeitpunkt
Aufgabe 4
Dateien
schedule.h schedule.cc

Beschreibung

Der Scheduler verwaltet die Ready-Liste (ein privates Queue Objekt der Klasse), also die Liste der lauffähigen Prozesse (Entrant Objekte). Die Liste wird von vorne nach hinten abgearbeitet. Dabei werden Prozesse, die neu im System sind oder den Prozessor abgeben, stets an das Ende der Liste angefügt.

öffentliche Methoden

void ready (Entrant& that)
Mit dieser Methode wird der Prozess that beim Scheduler angemeldet. Er wird an das Ende der Ready-Liste angefügt.
void schedule ()
Diese Methode setzt das Scheduling in Gang, indem der erste Prozess von der Ready-Liste entfernt und aktiviert wird.
void exit ()
Hiermit kann sich ein Prozess selbst beenden. Er wird nun nicht wieder an das Ende der Ready-Liste angefügt. Statt dessen wird nur der erste Prozess von der Ready-Liste heruntergenommen und aktiviert.
void kill (Entrant& that)
Mit dieser Methode kann ein Prozess einen anderen (that) beenden. Der Prozess that wird einfach von der Ready-Liste entfernt und erhält somit nie wieder den Prozessor.
void resume ()
Hiermit kann ein Prozesswechsel ausgelöst werden, ohne dass der aufrufende Entrant wissen muss, welche anderen Entrant Objekte im System existieren und welcher davon sinnvollerweise aktiviert werden sollte. Diese Entscheidung trifft der Scheduler anhand der Einträge seiner Ready-Liste. Im derzeitigen System soll er den gerade laufenden Prozess an das Ende der Ready-Liste anfügen und den ersten aktivieren.
  Impressum   Datenschutz Stand: 2007-11-27 09:46   AG, WH