E simplu: când un thread este blocat (wait pe orice primitivă de
sincronizare) ai garanția că schedulerul din kernel va pune la un moment
dat un thread al procesului tău care nu e blocat. Deci simplu blochezi
thread-ul care nu vrei să se execute. Orice funcție de wait merge.

On Wed, May 1, 2019, 7:24 PM Ionuț Mihalache <ipopesc...@gmail.com> wrote:

> Pentru întrebarea 2: Nu modific nimic în kernel dar trebuie să mi se
> asigure cumva că dacă eu îi zic thread-ului 2 să face wait până când este
> primul în coada cu priorități, o să fie pus alt thread pe procesor.
>
> În mie., 1 mai 2019 la 19:20, Paul Olaru <olarupaulstelia...@gmail.com> a
> scris:
>
>> 2. Nu trebuie să umblăm la kernel altfel decât prin a lăsa un singur
>> thread activ la un moment dat în general.
>> 1. Decrementarea se poate face oricând, dar "context switch-ul" se va
>> face după, dacă e cazul.
>> 3. Am și eu întrebarea asta. Parcă am văzut un mail în care se spunea că
>> ambele abordări sunt ok.
>>
>>
>> On Wed, May 1, 2019, 7:17 PM Ionuț Mihalache via so <so@cursuri.cs.pub.ro>
>> wrote:
>>
>>> Salut,
>>>
>>> După ceva timp în care am tot încercat diferite variante de implementare
>>> pentru a rezolva prima partea a testelor, cele până la round robin inclusiv
>>> am niște întrebări punctuale:
>>>
>>> 1. În cazul so_fork() începem să scadem cuanta înainte sau după
>>> pthread_create?
>>> 2. Noi trebuie să modificăm ordinea thread-urilor noastre și în cadrul
>>> planificatorului din kernel sau trebuie să lucrăm doar cu thread-urile pe
>>> care le avem noi în coada cu priorități din cadrul planificatorului nostru
>>> la un moment dat?
>>> 3. Thread-ul care face primul so_fork(), cel din test, trebuie să apară
>>> în coada noastră? Și dacă nu trebuie să avem noi grijă cumva să nu mai fie
>>> pe procesor până când nu se execută thread-urile din cadrul
>>> planificatorului nostru?
>>>
>>> Mulțumesc,
>>> Ionuț Mihalache
>>> _______________________________________________
>>> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
>>
>>
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Reply via email to