[so] [tema4]Numar conditii

Alex Gorunescu algorunescu at yahoo.com
Fri May 21 13:35:40 EEST 2010


La crearea monitorului generic se specifica numarul de conditii. De ce numarul este limitat ? Din ce am vazut, nici cerintele, nici testele nu specifica vreo validare legata de depasirea numarului de conditii specificat. Prin documentatie nu am vazut ceva legat de limitarea numarului conditiilor de validare.
Pe scurt, eu am implementat conditiile prin liste dinamice, deci, practic suporta un numar nelimitat. Daca se apeleaza wait cu o conditie inexistenta in monitor, atunci se creaza conditia respectiva si se elimina cand nu mai asteapta nimeni dupa ea. Este gresit ?
Nu mi-e greu sa bag o limitare a numarului de conditii, dar eram curios de ce este limitat.

 Alex




________________________________
From: Stefan Munteanu <stef8803 at yahoo.co.uk>
To: Sisteme de Operare <so at cursuri.cs.pub.ro>
Sent: Tue, May 18, 2010 10:23:49 PM
Subject: Re: [so] [SO][tema4] Sincronizare in tester?


Mda, corect :D

Multumesc,
Stefan




________________________________
From: Drutu Bogdan <bogdandrutu at gmail.com>
To: Sisteme de Operare <so at cursuri.cs.pub.ro>
Sent: Tue, 18 May, 2010 1:24:34
Subject: Re: [so] [SO][tema4] Sincronizare in tester?

2010/5/17 Stefan Munteanu <stef8803 at yahoo.co.uk>:
> Salut,
>
> Am  cateva observatii legate de testerul temei 4.
> Pentru o tema care are ca obiectiv creearea unui monitor, nu mi se pare ca
> testerul se ridica la inaltime. Sincronizarea din el se realizeaza de multe
> ori utilizand sleep, dar de cele mai multe ori sincronizarea lipseste.
> Astfel se presupune ca programul nostru ar fi trebuit sa ajunga intr-un
> anumit punct, desi, dupa cum stim de la cursul de planificarea
> proceselor/threadurilor, acest lucru nu se intampla tot timpul.
> Spre exemplu:
>
> Test stress Ring:
> [...]
> i = 43, Cond = 0, q = 1
> test: T44 (round 2) verifica thread-uri in asteptare (II).........failed
> make: *** [test] Error 255
>
> Desi testerul semnaleaza o eroare aici, trebuie avut in vedere ca urmatoarea
> succesiune de evenimente poate produce acest output, fara a avea erori de
> sincronizare:
>
> Thread 43: semnaleaza threadul 44
> Thread 43: i se termina cuanta de timp
> Este planificat threadul 44
> Thread 44: Threadul 44 a fost semnalat, isi continua executia si verifica
> daca threadul 43 asteapta la conditie
> [...]
> Thread 43: Asteapta la conditie
>

Nu pricep foarte bine ce vrei sa spui, dar in momentul in care
threadul 44 e semnalat el trece in signal (si mai asteapta dupa acest
semafor nu poate incepe executia) si desi threadul 43 e replanificat
tot acesta trebuie sa isi continue executia.

> Din pacate nu mi se pare ca acesta este singurul caz in care se fac
> presupuneri eronate in tester.
>
>
> Stefan
>
>
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>



-- 
Bogdan.
_______________________________________________
http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/lurker/list/so.html/attachments/20100521/a06c8d45/attachment.htm>


More information about the so mailing list