[so] Subiecte examen

Adriana Dinca dinca.adriana2 at gmail.com
Tue May 30 18:06:01 EEST 2017


Multumesc pentru explicatii.

Adriana


Pe 30 mai 2017, 18:01, Razvan Deaconescu via so <so at cursuri.cs.pub.ro> a
scris:

> Adriana Dinca via so <so at cursuri.cs.pub.ro> writes:
> > Buna,
> >
> > Am si eu o neclaritate legata de o cerinta data in examenul din
> 11.06.2015.
> > Intrebarea este: "Ce se intampla in cazul operatiei up() pe un semafor?'.
> >
> > Nu stiu exact la ce se refera operatia up(). E aceasi lucru cu operatia
> > signal()?
>
> up = V = increase = signal = release = post = vacate
> down = P = decrease = wait = aquire = pend = procure[1]
>
> > In implemntarea operatiei signal exista un apel de wakeup(P).
> >
> > Trebuie sa explicam ce se intampla la apelul operatiei signal sau doar sa
> > spunem ce face apelul wakeup(se reia executia unui proces blocat)?
>
> Trebuie explicat efectul, nu implementarea internă a operației up().
>
> Când se execută up() pe un semafor, valoarea acestuia se vrea
> crescută. Dacă nu este nici un thread care așteaptă la semafor, valoarea
> este crescută fără alt efect. Dacă există cel puțin un thread care
> așteaptă la semafor, acel thread este trezit.
>
> > signal(semaphore *S) {
> >     S->value++;
> >     if (S->value <= 0) {
> >         remove a process P from S->list;
> >         wakeup(P);
> >     }
> > }
>
> [1] https://en.wikipedia.org/wiki/Semaphore_(programming)#Operation_names
>
> Răzvan
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20170530/08c95d90/attachment.html>


More information about the so mailing list