Einzelnen Beitrag anzeigen
Alt 17.12.2008, 09:30   #1
greenfish
Newbie
 
Registriert seit: 26.02.2008
Beiträge: 4


Standard Prozess synchronisierung

Ich habe folgende Aufgabe bekommen und kann es nicht lösen.

2 resourcen r1,r2
bufferpools: drinnen bestimmte anzahl an elementen die verfügbar sind
obj die drinnen sind: n1,n2

p1,....pm : prozesse
diese holen sich von den beiden resourcen spezifizierte anzahl von objekten raus: zb get1(x1),get2(x2) -- compute -- put(x1,x2)
0 <= x, <= ni

es kann passieren dass es zu wenige objekte gibt, muss warten bis es wieder genug davon gibt.
Problem: x1 erfolgreich, aber x2 wird aufgehängt, oder umgekehrt
der porzess braucht von 2 typen von objekten eine gewisse anzahl und sie werden nach der reihe angefordert und irgend
wann mal wieder zurückgegeben

Angeblich kann man das mit semaphores lösen aber ich weiß nicht was der Grund dafür ist, dass sich 2 Prpozesse aufhängen. x1 und x2 sollen hintereinander erfolgen weil das zusammenhängende daten sind, ohne, dass sich einer davon aufhängt

thx
greenfish ist offline   Mit Zitat antworten