[so] semafoare
Octavian Purdila
so@atlantis.cs.pub.ro
Thu, 13 Nov 2003 18:05:51 +0200
On Thu, 13 Nov 2003 16:31:07 +0200, dinca radu <radu_d@k.ro> wrote:
>
> Pai am o locatie de memorie in care imi pun "mutex-ul" meu virtual
> ...daca
> locatia respectiva e 0 atunci mi se da acces la frigider , altfel
> programul
> asteapta sa se faca locatia 0. De ce nu mi s-ar functiona ?
>
>
Trebuie sa ai garantia ca citirea si scrierea din "mutex-ul virtual" se
fac atomic.
Sunt multe motive pentru care citirea si scrierea in "multex-ul virtual"
ar putea sa nu fie
atomice:
- optimizari de compilator
- optimizari in procesor
- executie paralela in procesor
- cvasi-paralelismul oferit de SO pentru procese
- sisteme SMP
In al doilea rand, daca tu astepti ca locatia sa se faca 0 fara a folosi
semafoare & stuff, o sa o faci busy wating.