«« ( Date ) »» // «« ( Thread ) »» // drs - 2007

RE: H2O problem

by Bojan
subota, 05. maj 2007 - 14:57.

Da da u pravu si...
Mene sad zanima ako bi dobili H2O problem na kolokvijumu ili ispitu i
uradimo resenje kao iz vezbi koliko bi poena dobili (da li bi dobili max
poena) ?
Ako moze asistent da odgovori..
Hvala

-----Original Message-----
From: Igor Stojkovic [mailto:stojkovic.igor@gmail.com]
Sent: Saturday, May 05, 2007 1:57 PM
To: drs@rti.etf.bg.ac.yu
Subject: Re: [drs] H2O problem

On 5/5/07, Bojan <bojan23@sbb.co.yu> wrote:
>
>
>
>
> Mislim da bi ovo najlakse moglo da se resi ako se wait(oxyMutex) stavi na
> pocetak koda za kiseonik ispred 2x signal(hydroSem) tako da sledeci
kiseonik
> moze da dodje tek posto se prvi povezao sa prva 2 vodonika koja su dosla.
>
> Ovde se, istina, gubi na konkuretnosti ali je zato osigurano da radi kako
> treba.
>
>
>
> > Radio sam iz Vezbi2007_V1.1.pdf 9. zadatak iz semafora (The H2O
> > problem) i primetio jedan slucaj koji se ne uklapa bas u resenje.
> >
> > Recimo dodju 2 kiseonika. Prvi se zaglavi na wait(oxySem) a drugi na
> > wait(oxyMutex). Sada dodju 2 vodonika. Prvi se zaglavi na
> > wait(hydroSem2) a drugi sa signal(oxySem) dozvoli prvom kiseoniku da
> > zavrsi posao tj. pozove bond(i). Taj drugi vodonik stigne do
> > wait(hydroSem2) koji bi sada mogao da prodje, ali i pre nego sto
> > izvrsi taj poziv uleti 3. vodonik, koji na isti nacin stigne do te
> > naredbe kada i njemu uleti 4. vodonik (znam da je malo verovatno,
> > ali...). Taj 4. vodonik sa jos jednim signal(oxySem) dozvoli i drugom
> > kiseoniku da prodje (wait(oxyMutex) je prosao jos kad je prvi kiseonik
> > zavrsio posao) i da on izvrsi bond(i). Tek posle toga sva cetiri
> > vodonika prolaze wait(hydroSem2).
> >
> > Ja koliko sam shvatio ne bi smelo da se desi da prodju dva kiseonika a
> > da nije ni jedan vodonik. Ispravite me ako gresim (bilo gde).
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20drs
> -----------------------------------------------------------------
>

Ni ovo ne resava problem jer drugi vodonik moze javiti prvom kiseoniku
da moze da se vezuje i kiseonik se veze i propusti sledeci kroz mutex
a onaj drugi vodonik stane pred onom wait naredbom kao sto sam
objasnio, i onda opet dodju dva vodonika na isti nacin i sve se opet
isto desava.

--
Pozdrav,
Igor Stojkovic mailto: stojkovic.igor@gmail.com