Systemaufrufschnittstelle zum Organizer.
Mehr ...
#include <guarded_organizer.h>
Öffentliche Methoden |
void | ready (Thread &that) |
| Diese Methode entspricht der gleichnamigen Methode der Basisklasse Organizer, nur dass sie mit Hilfe eines Secure Objekts geschützt wird.
|
void | exit () |
| Diese Methode entspricht der gleichnamigen Methode der Basisklasse Organizer, nur dass sie mit Hilfe eines Secure Objekts geschützt wird.
|
void | kill (Thread &that) |
| Diese Methode entspricht der gleichnamigen Methode der Basisklasse Organizer, nur dass sie mit Hilfe eines Secure Objekts geschützt wird.
|
void | resume () |
| Diese Methode entspricht der gleichnamigen Methode der Basisklasse Organizer, nur dass sie mit Hilfe eines Secure Objekts geschützt wird.
|
void | sleep_until_IRQ () |
| Diese Methode entspricht der gleichnamigen Methode der Basisklasse Organizer, nur dass sie mit Hilfe eines Secure Objekts geschützt wird.
|
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.
|
| 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.
|
| Dispatcher () |
| Konstruktor.
|
Coroutine * | active () |
| 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 Organizer.
Der Guarded_Organizer implementiert die Systemaufrufschnittstelle zum Organizer. 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 Customer, sondern Thread Objekte behandelt werden.
- Zu beachten
- Die Klasse Guarded_Organizer ersetzt die Klasse Guarded_Scheduler aus Aufgabe 5.
Dokumentation der Elementfunktionen
void Guarded_Organizer::exit |
( |
| ) |
|
Diese Methode entspricht der gleichnamigen Methode der Basisklasse Organizer, nur dass sie mit Hilfe eines Secure Objekts geschützt wird.
Erneute Implementation von Scheduler.
void Guarded_Organizer::kill |
( |
Thread & |
that | ) |
|
Diese Methode entspricht der gleichnamigen Methode der Basisklasse Organizer, nur dass sie mit Hilfe eines Secure Objekts geschützt wird.
void Guarded_Organizer::resume |
( |
| ) |
|
Diese Methode entspricht der gleichnamigen Methode der Basisklasse Organizer, nur dass sie mit Hilfe eines Secure Objekts geschützt wird.
Erneute Implementation von Scheduler.
void Guarded_Organizer::sleep_until_IRQ |
( |
| ) |
|
Diese Methode entspricht der gleichnamigen Methode der Basisklasse Organizer, nur dass sie mit Hilfe eines Secure Objekts geschützt wird.
Erneute Implementation von Scheduler.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: