[so] P(n) pe Windows

Cosmin Arad so@atlantis.cs.pub.ro
Sat, 22 Nov 2003 17:17:29 -0800 (PST)


Incearca sa scrii pseudocodul pe hartie si o sa vezi
ca e simplu. 4 mutexuri si 4 semafoare.
Toate P-urile care nu pot continua se blocheaza la
semaforul blockP si toate WaitZero care nu pot
continua se blocheaza la semaforul blockZ.
La fiecare V toate P-urile isi vor reevalua conditiile
iar cele care se pot termina se vor termina. Se va
folosi semaforul EvaluateP pt ca operatia V sa se
asigure ca toate P-urile s-au reevaluat inainte de a
continua.
La fiecare P care aduce valoarea semaforului la 0
toate WaitZero blocate isi vor reevalua conditiile si
se vor termina. Se va folosi semaforul EvaluateZ pt ca
operatia P sa se asigure ca toate WaitZero s-au
reevaluat inainte de a continua.

3 dintre mutexuri sunt folosite pt protejarea unor
contoare iar sectionSequence pentru a departaja
operatiile P ajunse inaintea unui V de cele ajunse
dupa.

In rest mai sunt niste contoare si un flag
self-explanatory.

Cosmin

--- Ion Petrescu <pion@rdsnet.ro> wrote:
> Tuesday, November 18, 2003, 1:02:54 AM, you wrote:
> 
> CA> Am pus la
> CA> http://cs.pub.ro/~so/Laboratoare/Semaphore.zip
> CA> o propunere de semafor generalizat pe Windows cu
> CA> operatiile P(n), V(n) si WaitZero().
> 
> Din pacate nu contine si un README. Ma intreb cum
> ti-a acceptat
> uploadul ;)
> 
> Este super ca ai pus o solutie!, insa ma tot chinui
> sa o citesc de vreo
> saptamana si renunt de fiecare data pentru ca nu
> reusesc sa inteleg si
> nu am tot timpul din lume.
> 
> 
> In cazul in care nu se vor publica comentarii vreau
> sa profit chiar
> acum de ocazie sa fac un apel la cei care pot sa ma
> ajute sa inteleg
> codul sa imi raspunda pe adresa personala.
> 
> 
> Cu multumiri,
> Ion Petrescu
> 


__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree