[so] [Tema4] Nelămuriri

Razvan Crainea razvan.crainea at gmail.com
Wed May 2 13:00:54 EEST 2012


2012/5/2 Stoica Cosmin <cosmin.stoica9 at gmail.com>:
> Salut!
>
>          Am și eu o serie de nelămuriri în legătură cu enunțul:
>
>  1. ceasul virtual -- la ce se așteaptă echipa ca să se implementeze? Poate
> fi un contor general care crește cu fiecare instrucțiune care este
> executată? sau un fel de timer care dă întrerupere la delta t unitate de
> timp virtual?

E la alegerea voastră. Important e să contorizezi corect cât a rulat
fiecare thread pe procesor, pentru a-l preempta dacă e cazul când îi
expiră cuanta.

> 2. Events și sau dispozitive I/O -- ambele sunt eventuri ca și implementare
> ? sau se poate simula altfel un dispozitiv I/O pentru blocare pe el? Dacă
> dati-mi și mie un hint va rog frumos.

Evenimentele se referă la dispozitivele I/O, și pot fi simulate de
programul vostru folosind ce implementare IPC doriți. Important este
să respecte modul de funcționare al unui dispozitiv I/O din
perspectiva programului vostru: să se blocheze în așteptarea de date
(so_wait) și să fie deblocat când datele au venit (so_signal).

> 3. Exec - are ca și acțiune doar decrementarea cuantei unui thread și
> incrementarea ceasului virtual?

În mare da, cam atât trebuie să facă so_exec. În schimb, la fel ca și
celelalte funcții, trebuie să se asigure că threadurile rulează
conform politicii de planificare.

> 4. wait - face wait pe un event al cărui index este primit ca și parametru (
> acest lucru indiferent dacă este event/disp IO? adică lucru cu un dispozitiv
> IO se consideră că este eveniment care nu este signaled ?

Evenimentele și dispozitivele I/O sunt același lucru, nu trebuie
tratate diferit. În continuare, puteți folosi ce mecanism IPC
preferați în cadrul implementării.

-- 
Răzvan Crainea


More information about the so mailing list