[so] [Tema4][Linux] Nelămurire enunț

Razvan Crainea razvan.crainea at gmail.com
Fri May 11 10:32:41 EEST 2018


Da, so_init() ar trebui să inițializeze scheduler-ul o singură dată; la fel
și so_end.

Numai bine,
Răzvan

On Thu, May 10, 2018 at 7:30 PM Alexandru Militaru <
alexandru.cmilitaru at gmail.com> wrote:

> Mulțumesc pentru răspuns. Revin cu o altă întrebare:
>
> Funcția so_init ar trebui să poată fi apelată doar o singură dată? La fel
> pentru so_end?
>
> 2018-05-09 17:55 GMT+03:00 Razvan Crainea <razvan.crainea at gmail.com>:
>
>> Salut, Alex!
>>
>> On Wed, May 9, 2018 at 5:26 PM Alexandru Militaru via so <
>> so at cursuri.cs.pub.ro> wrote:
>>
>>> Salut,
>>>
>>> Am și eu câteva nelămuriri în ceea ce privește enunțul temei.
>>>
>>> 1. Cum folosesc timpul de execuție? Cum știu când unui thread/proces i-a
>>> expirat cuanta? Cum măsor acest timp?
>>>
>>
>> După cum este specificat și în enunț[1], trebuie să folosiți un timp
>> logic. Fiecare instrucțiune durează o singură perioadă de ceas - prin
>> urmare, pentru măsurarea timpului, poți calcula numărul total de rulări ale
>> funcțiilor.
>>
>>
>>>
>>> 2. În enunț se spune: ”Handlerul executat de thread va primi ca
>>> parametru prioritatea acestuia”. Ce face handler-ul cu prioritatea? De
>>> ce are nevoie de ea? De prioritate nu are nevoie doar scheduler-ul pentru a
>>> trimite thread-urile pe procesor?
>>>
>>
>> Ai dreptate, în mod normal handler-ul nu ar avea nevoie de prioritate.
>> În schimb testele construite de noi folosesc acest parametru pentru a
>> identifica cu ce prioritate rulează un anumit handler. O implementare mai
>> "curată" ar fi să păstrăm în binarul de test o mapare a handler-ului și
>> prioritatea cu care rulează el, dar momentan nu este implementat așa. Vom
>> avea în vedere acestă schimbare pentru anul viitor. Desigur, dacă vreți să
>> contribuiți cu această schimbare, sunteți bine-veniți să deschideți un pull
>> request[2], pentru care veți fi cu siguranță răsplătiți cu karma points :).
>>
>>
>>>
>>> 3. Cum ar trebui să implementăm funcția void so_exec()?
>>>
>>
>> so_exec ar trebui să aștepte până când logica de planificare îi permite
>> să ruleze, după care incremenează timpul logic și iese.
>>
>> [1] https://ocw.cs.pub.ro/courses/so/teme/tema-4#timp_executie
>> [2]
>> https://github.com/systems-cs-pub-ro/so-assignments/tree/master/4-scheduler
>>
>> Sport!
>> Răzvan
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20180511/53e16ed4/attachment.html>


More information about the so mailing list