SAI ||
Wintersemester 1997/98 ||
Entwicklung objekt-orientierter Bibliotheken ||
Übungen
Übungen zu Entwicklung objekt-orientierter Bibliotheken
Blatt 12 (30. 1. - 6. 2. 1998)
Aufgabe 19 (20 Punkte)
Schreiben Sie in Oberon einen Daemon, der für Arbeitsgruppen
manuell zu bedienende Semaphoren bereitstellt.
Wie bei den
Chat-Daemonen
aus der Vorlesung soll z.B. über
telnet
Kontakt mit dem Daemon aufgenommen werden können.
Zur Beginn einer solchen Sitzung teilt der Benutzer mit, wer er ist.
Danach kann er an den Daemon Kommandos absetzen.
Unterstützt werden sollen dabei folgende Operationen:
-
Definition einer neuen Ressource.
Sie wird durch ein beliebiges Wort identifiziert.
-
Versuch, eine Ressource in Anspruch zu nehmen.
Falls sie belegt ist, wird der Interessent in eine
Warteschlange aufgenommen.
Sobald er an der Reihe ist, erhält er eine diesbezügliche Mitteilung.
-
Aufgeben des Anspruchs auf eine Ressource.
-
Anzeigen des momentanen Zustands einer oder aller bekannten
Ressourcen.
-
Beenden der Sitzung.
Dadurch werden etwa noch bestehende Ansprüche ebenfalls aufgelöst.
Beispiel für eine Sitzung
% telnet helios 9931
Lock-Daemon
-----------
Your name: Martin
& create xxx
& show
aaa locked by Cornelia
xxx free
& lock aaa
aaa: QUEUED
& show aaa
aaa locked by Cornelia
Martin
& aaa: READY
& lock xxx
xxx: READY
& unlock aaa
& quit
xxx: DROPPED
%
Zur zeilenorientierten Bearbeitung der Eingabe ist es zweckmäßig,
das Modul
Cmds
aus den Übungen zu verwenden.
Ein Beispiel dazu findet sich unter
"http://www.mathematik.uni-ulm.de/sai/ws97/oolib/zb/cmds/".
SAI ||
Wintersemester 1997/98 ||
Entwicklung objekt-orientierter Bibliotheken ||
Übungen
Martin Hasch, Januar 1998