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 2012/13  >  Betriebssysteme  >  Übungen  >  Aufgaben  >  Aufgabe 6
Guarded_Scheduler Klassenreferenz

Systemaufrufschnittstelle zum Scheduler. Mehr ...

#include <guarded_scheduler.h>

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

Öffentliche Methoden

void ready (Thread &that)
 Anmelden des Threads that beim Scheduler.
void exit ()
 Beenden des aktuell laufenden Prozesses.
void kill (Thread &that)
 Bricht einen anderen Prozess ab.
void resume ()
 Auslösen eines Prozesswechsels.
- Ã–ffentliche Methoden geerbt von Scheduler
 Scheduler ()
 Konstruktor.
void schedule ()
 Starten des Schedulings.
void ready (Entrant &that)
 Anmelden eines Prozesses zum Scheduling.
void kill (Entrant &that)
 Beenden eines beliebigen Prozesses.
void set_idle_thread (int cpuid, Entrant *thread)
 Setzt einen dedizierten Idle-Thread für die entsprechende CPU.
void sleep_until_IRQ ()
 Legt den aktuellen Prozessor schlafen, solange keine Prozesse vorhanden sind.
- Ã–ffentliche Methoden geerbt von Dispatcher
 Dispatcher ()
 Konstruktor.
Coroutineactive ()
 Hiermit kann abgefragt werden, welche Koroutine gerade im Besitz des aktuellen Prozessors ist.
void go (Coroutine &first)
 Mit dieser Methode wird die Koroutine first im Life-Pointer des aktuellen Prozessores vermerkt und gestartet.
void dispatch (Coroutine &next)
 Diese Methode setzt den Life-Pointer des aktuellen Prozessors auf next und führt einen Koroutinenwechsel vom alten zum neuen Life-Pointer durch.

Ausführliche Beschreibung

Systemaufrufschnittstelle zum Scheduler.

Der Guarded_Scheduler implementiert die Systemaufrufschnittstelle zum Scheduler. Die von ihm angebotenen Methoden werden direkt auf die Methoden der Basisklasse abgebildet, nur dass ihre Ausführung jeweils mit Hilfe eines Objekts der Klasse Secure geschützt wird und dass nicht Entrant, sondern Thread Objekte behandelt werden.

Hinweis

Da die Methoden von Guarded_Scheduler die gleichen Namen haben wie die der Basisklasse Scheduler, verdecken sie diese normalerweise. Dies kann verhindert werden, wenn bei dem Aufruf einer Methode der Name der Basisklasse explizit angeführt wird. Beispiel:

Application appl1, appl2;
scheduler.ready (appl1); // Methode von Guarded_Scheduler
scheduler.Scheduler::ready (appl2); // Methode von Scheduler

Dokumentation der Elementfunktionen

void Guarded_Scheduler::kill ( Thread that)

Bricht einen anderen Prozess ab.

In OOStuBS genügt es den Prozess von der Ready-Liste zu entfernen.

void Guarded_Scheduler::ready ( Thread that)

Anmelden des Threads that beim Scheduler.

Parameter
thatAnzumeldender Thread.

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
  Impressum   Datenschutz Stand: 2013-01-18 12:56   BO, DL