[so] tema 4 - caz nefavorabil fara solutie
Dorin Cristescu
so@cursuri.cs.pub.ro
Thu, 3 Feb 2005 14:09:27 -0800 (PST)
Mmmda.
Deci, Domnii mei,
Imi pare rau sa va pun la treaba documentandu-va
despre mecanismele si dedesubturile din <sistemul de
operare> linux, dar, in numele corectitudinii (demna
de toata atentia, nu?) ma vad nevoit sa insist
deoarece nu am primit raspuns la problemele ridicate.
Mi s-a confirmat ca fara blocare in handlere nu se
poate. Ok, asta e ideea producator-consumator.
Dar problema semnalarii linuxthreadurilor nu a fost
adresata.
Nu stiu de unde sa aflu singur, dar trebuie sa stiu
sigur cine trimite semnalele astea de asynchronous
i/o.
Cand un worker incepe o operatie aio, normal ar fi ca
acel worker sa fie semnalat la terminarea operatiei si
NU alt thread, iar daca fac un singur thread care sa
intercepteze semnalele, in celelalte toate semnalele
fiind blocate, in conditiile bugului linuxthread
interceptorul de semnale n-ar primi niciodata nimic.
Altfel, daca fiecare thread isi intercepteaza singur
semnalele care ii sunt destinate, ramane problema
DEADLOCKULUI fiindca threadul respectiv ar fi si
producator si consumator (handlerul de semnal
_intrerupe_ firul de executie deci nu mai lasa loc
consumatorului sa consume!)
Daca gresesc pe undeva prin rationamentul meu, va rog,
anuntati-ma in raspunsuri, si precizati unde.
Concluzia mea e ca nici una din acestea nu este deci
solutie.
Experimentul acesta cu axarea pe concepte exotice ca
aio se pare ca backfires. O fi o metoda de invatat sa
o iei de-a-mboulea pe camp luand in piept fara
ajutorul nimanui jungla existenta si sa-ti faci singur
ordine. Sa explori de unul singur, si sa inveti si sa
te conformezi la situatia limitanta care ti-este
oferita, dar putina conducere si autoritate _avizata_
n-ar strica.
Deci, daca tot ne-am inhamat la asta, sa ne oferim
disponibilitatea si cooperarea necesare.
Va multumesc pentru efortul didactic depus.
__________________________________
Do you Yahoo!?
Yahoo! Mail - now with 250MB free storage. Learn more.
http://info.mail.yahoo.com/mail_250