Multumesc frumos, asta explica multe!
De ce ar trebui sa avem un vector de cozi de prioritati? Dupa ce criteriu 
stabilim pe ce coada de prioritati se duce un thread?
    On Thursday, May 2, 2019, 7:46:26 PM GMT+3, Paul Olaru 
<[email protected]> wrote:  
 
 Looks like significant misunderstandings here.
1. Vezi 3; ID-ul este dintr-un vector de cozi I/O.2. Fiecare thread este ori 
running, ori ready (în coadă), ori blocked (într-o coadă I/O). Fiecare funcție 
manipulează în general propriul thread, cu excepția lui fork (care crează un 
thread nou) și signal (care scoate alte threaduri dintr-o coadă de I/O și le 
pune în ready, în coada de priorități)3. Primul parametru e dimensiunea unei 
cuante de timp iar al doilea este nr de cozi I/O. Numărul de thread-uri nu este 
limitat.4. Funcția dată lui fork va apela ea so_exec, sau so_fork, sau so_wait, 
sau so_signal. Nu le apelezi tu. Te folosești de apelurile ăstea ca 
oportunitate pt a face schedulingul.5. Funcția apelează so_exec; deci ai 
posibilitatea în acest moment.
P.S: cuanta de timp este de fapt nr de apeluri fork/exec/signal maxim permis 
până când forțezi o anume preempție.
P.P.S: Va trebui tu să ai grijă intern ca numai un thread să se poată rula la 
un moment dat.

On Thu, May 2, 2019, 7:38 PM Tuculina Gabriel via so <[email protected]> 
wrote:

Buna ziua,

Am si eu o serie de nelamuriri legate de functiile pe care trebuie sa le 
implementam:

1. Wait si Signal primesc amandoua cate un parametru IO. Acel eveniment ar 
trebui sa fie un id ce trebuie comparat cu id-ul threadurilor din lista de 
prioritati?

2. Cand se va scoate un element din lista de prioritati? Cand starea lui ajunge 
in Terminated?

3. Ce se intampla daca se incearca crearea mai multor procese decat a fost 
initial setat in init? Se ignora?

4. Din cate inteleg, se va executa functia pasata la fork, iar apoi threadurile 
ar trebui sa intre in starea Terminated. Cum ar trebui sa fie folosit so_exec? 
Care mai este rolul lui daca "work is done" si nu mai pot face nimic in 
privinta asta?

5. Cum ar trebui sa decrementam time_quantum-ul daca nu avem control asupra 
executiei work-ului?



Multumesc anticipat!

Gabriel
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii
  
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Raspunde prin e-mail lui