Salut, Paul!
Toate operațiile enumerate de tine consumă timp pe procesor, mai puțin
INIT și END.
Thread-urile ar trebui să se planifice unele pe altele - prin urmare
la END nu ar trebui să faci schedule(), pentru că operația de so_end()
se rulează în thread-ul principal (thread-ul inițial), iar ac
Mă rog, doar asupra operațiilor făcute pe scheduler am control.
Deci efectiv în scopul considerării cuantei voi considera apelurile și la
so_execute, și la so_signal, și la toate operațiile de scheduler, ca
însemnând câte o instrucțiune și, deci, ca momente în care pot preempta pe
motivul expirări
Salut Paul,
Eu unul n-am inteles deloc intrebarea, dar din punct de vedere al
enuntului daca un thread executa X instructiuni si timpul specificat
de parametrul "cuanta" a lui a expirat trebuie preemptat si intra alt
thread in joc.
Tot ce inseamna operatii I/O se traduc prin yield.
END - faci pt
În cerință, se spune că fiecare dintre funcții se consideră ca o instrucțiune
executată de un thread la un moment dat. Ce funcții se consideră ca
instrucțiuni dpdv al cuantei?
• INIT: Bănuiesc că nu, doar e configurația inițială a temei. Facem scheduling
și pe thread-ul de setup?
• FORK: La asta