2012/5/2 Stoica Cosmin <[email protected]>: > 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 _______________________________________________ http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
