Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Katarina Dorsten Geändert vor über 10 Jahren
1
Semaphore void Passieren (semaphore &s) { if (s > 0) { s--;
} else { WaitOn (s); } void Verlassen (semaphore &s) { if (ProcessAreWaitingOn (s)) { Signal (s); s++; Semaphore
2
Was sind Semaphore? Semaphore sind geschützte Variablen.
binäre Semaphore/zählende Semaphore Semaphore können nur über die Funktionen P(s) und V(s) verändert werden. P(s) und V(s) sind nicht unterbrechbar (uninterruptible). Verwendung von Semaphoren gegenseitiger Ausschluss von Prozessen Synchronisation von Prozessen
3
Wie arbeiten Semaphore?
void Passieren (semaphore &s) { if (s > 0) { s--; } else { WaitOn (s);} } void Verlassen (semaphore &s) { if (ProcessAreWaitingOn (s)) { Signal (s); } else { s++;}
4
gegenseitiger Ausschluss
zwei Prozesse sollen nicht gleichzeitig im kritischen Bereich sein. semaphore aktiv= 1; void prozess_1() { for (;;) { P(aktiv); kritischer Bereich_1(); V(aktiv); macheWasAnderes(); } } void prozess_2() { for (;;) { P(aktiv); kritischer Bereich_2(); V(aktiv); macheWasAnderes(); } }
5
Prozess-Synchronisation
notwendig z.B. wenn ein Prozess von anderem Prozess abhängig ist semaphore ereignis=0; void prozess_1() { vorher_1(); P(ereignis); nachher_1(); } void prozess_2() { vorher_2(); V(ereignis); nachher_2(); }
6
Erzeuger-Verbraucher Problem
semaphore geleert=1; semaphore gefuellt = 0; int puffer; void erzeuger () { int ergebnis; for (;;) { berechne (ergebnis) P(geleert); puffer = ergebnis; V(gefuellt); } } void verbraucher () { int wert; for (;;) { P(gefuellt) V(geleert); wert = puffer; verarbeite (wert); } }
7
Monitore Ein Monitor enthält Daten und Methoden/Prozeduren.
Nur eine Zugangsmethode kann zur gleichen Zeit aktiv sein. Der Monitor ist besetzt, sobald eine Zugangsmethode ausgeführt wird, Prozesse müssen warten. Pascal, Modula, Java unterstützen Monitor-Konzept.
8
Literatur kroeger/Info-NF-2-Skript.pdf Stefan Middendorf, Reiner Singer: Java, dpunkt.verlag, 1999 Holger Jakobs: Betriebssysteme - Theorie, Skript b.i.b.
Ähnliche Präsentationen
© 2023 SlidePlayer.org Inc.
All rights reserved.