Grila 1 raspuns
Task Management Systems Quiz
Test your knowledge on task management systems and concurrency with this engaging quiz! Cover various topics including task states, semaphores, process dispatching, and more.
Whether you're a student or a professional, challenge yourself with questions like:
- What happens when two tasks share a variable?
- How does a dispatcher operate within an OS?
- What signifies a task's state at any moment?
Daca t1 si t2 sunt doua task-uri care partajeaza o variabila x astfel: t1 scrie o valoare in x si t2 o citeste, ce problema poate sa apara?
A) variabila x poate fi partajata mutual exclusiv
B) taskul t1 poate sa detina procesorul
C) nicio problema
D) taskul t1 scrie inainte ca t2 sa citeasca
E) task-ul t2 poate citi o valoare neactualizata de t1
Dispecerul se ocupa de partajare, in conditii optime, a:
A) memoriei
B) listei de asteptare la procesor
C) listei de taskuri blocate
D) procesorului
E)dispozitivelor periferice
Care dintre urmatoarele optiuni nu face parte din structura unui semafor?
A) o coada C
B) 2 primitve
C) o var int I
D) lap
D) o coada C, o var int I si 2 primitve
Un tampon circular gestionat dupa principiul FIFO, asociat unei perechi de task-uri poarta denumirea de:
A) rendez-vous
B) semafor
C) lista de asteptare la procesor
D) coada de asteptare
E) conducta
Dispecerul este:
A) un task
B) un OS
C) o intrerupere
O functie
E) o rutina de tratare a intreruperii
Cate locatii are tabloul in care se construieste lista de asteptare la dispecerizarea prin rotatie?
A) max_tsk-1
B) max_tsk
C) 10
D) max_tsk+1
E) 11
Care dintre urmatoarele optiuni nu reprezinta o modalitate de a realiza dispecerizarea?
A) route-Robin
B) round-robin
C) prioritizare prin rotatie
D) rotatie
E) prioritizare
Ce se intampla in urmatoarea secventa de cod? _contfiz[_tsk_crt].ss=_SS; _contfiz[_tsk_crt].sp=_SP;
A) se salveaza adresele de stiva ale taskului care iese din rulare
B) se inscriu in registrele din stiacv din opricesor adresele taskului care intra la rulare
C) se inscriu in registerele din stiva din procesor acdrersele taskului care iese din rulare
D) nimic, pentru ca secventa este incorecta
E) se salveaza dresele de stiva ale taskului care intra la rulare
Pentru a partaja o resursa reenteranta intre mai multe taskuri folosind un semafor, valoarea initiala a contorului va fi
A) nula
B) numarul de sesiuni pe care le suporta resursa
C) numarul de sesiuni pe care le suporta taskurile
D) 1
E) numarul PI
Ce se intampla cand un task ajunge la intalnire?
A) se deblocheaza taskurile care asteptau
B) se pune contorul pe 0
C) se blocheaza tasjul curent
D) actiunea executata depinde de valoarea din contor
E) toate variantele sunt corecte
Tinand cont de prototipul si scopul functiei void _s_signal(SEM_IDENT semid), care dintre urmatoarele afirmatii este adevarata?
A) dupa decrementarea contorului verifica valoarea la care sa ajuns
B) incrementeaza valoarea contorului
C) se foloseste la ocuparea resursei
D) implementeaza primitiva P
E) debocheaza taskul indicat de *pi
De fiecare data cand termina transmisia producatorul:
A) verifica daca este consumatorul blocat
B) decrementeaza contorul
C) scrie in conducta
D) deblocheaaz consumatorul
E) nu mai face nimic altceva
Valoarea 0 in campul rc inseamna ca:
A) Task-ul producator nu este blocat la conducta
B) este plina conducta
C) Task-ul consumator este blocat la conducta
D) Task-ul producator este blocat la conducta
E) Task-ul consumator nu este blocat la conducta
Care secventa de cod permite preluarea datelor din conducta si salvarea lor in memorie la adresa p?
A) *p=*_pp[ppid].ps
B) *p=_pp[ppid].pc
C) *p=*_pp[ppid].pc
D) *p=_pp[ppid].ps
E) p=*_pp[ppid].pc
Urmatoarele instructiuni fac parte din implementarea functiei void _s_signal(SEM_IDENT semid) dar nu sunt in ordinea corecta.Specificati care optiune este cea corecta. If(++_sem[semid].contor<=0) { (1) *_sem[semid].pe=MAX_TSK; (2) if(_sem[semid].pe==&_sem[semid].coada[MAX_TSK-1]) (3) _sem[semid].pe=_sem[semid].coada; (4) else _sem[semid].pe++; }
A) (3), (4), (1), (2), (5)
B) (1), (2), (3), (4), (5)
C) (5), (1), (2), (3), (4)
D) (4), (1), (2), (3), (5)
E) (2), (1), (5), (3), (4)
Care este semnificatia indexului tabloului in dispecerizarea prin rotatie?
A) id-ul unui task din lista
B) id-ul primului task
C) id-ul taskului urmator
D) doar indexul locatiei curente
E) id-ul ultimului task
Care este semnificatia lui lap_p[MAX_TSK]?
A) id-ul ultimului task din lista
B) id-ul primului task din lista
C) taskul curent
D) prioritatea maxima posibila
E) prioritatea maxima activa la acel moment
Care dintre urmatoarele optiuni nu este o stare valida in care se poate afla un task?
A) gata
B) intrerupt
C) creat
D) necreat
E) blocat
Ce reprezinta valoarea contorului la rendez-vous?
A) nr de taskuri care pot folosi resursa
B) nr de tasjuri cu care poate lucra sistemyul
C) id-ul taskului curent
D) numarul de task-uri care n-au ajuns la intalnire
E) nr de taskuir blocate
Dupa declansarea procesului de intalnire, acesta poate sa se finalizeze in 2 moduri.Variabila care memoreaza modul de finalizare se numeste:
A) pie
B) coada
C) intval
D) contor
E) status
Un task care se afla , dupa procesul de comutare, pe ultimna pozitie in lista de asteptare se gaseste in starea?
A) gata
B) necreat
C) blocat
D) in executie
E) creat
Care dintre urmatoarele functii nu se foloseste in implementarea dispecerului?
A) search_ltb()
B) _sleep()
C) _wakeup()
D) next_lap()
E) toate rasp incorecte
Care dintre urmatoarele actiuni sunt consecvente cu metoda de comunicare prin conducta?
A) c) (opreste consumatorul cand este suficient loc in conducta pentru a finaliza transmisia)
B) b) si c)
C) a) b) si c)
D) a)
E) b)
Rolul dispecerului este de a:
A) face managementul memoriei
B) realiza procesul de comutare
C) organiza lista de asteptare la procesor
D) rula la procesor
E) bloca taskuri
Cine anuleaza intalnirea cand cel putin un task nu mai ajunge in timp util?
A) dispecerul
B) status
C) ultimul task care a ajuns la intalnire
D) primul task care a ajuns la intalnire
E) contorul
Cum se poate verifica daca este plina conducta?
A) _pp[ppid].rs==_pp[ppid].rc
B) _pp[ppid].ps==_pp[ppid].pc
D) _pp[ppid].ps==_pp[ppid].conducta[DIM_COND]
E) _pp[ppid].nocumul==_pp[ppid].conducta[DIM_COND]
C) _pp[ppid].nocumul==DIM_COND
Care dintre urmatoarele optiuni reprezinta o sarcina indeplinita de dispecer?
A) deblocarea task-urilor blocate cu timp finit
B) managementul listei de asteptare la procvesor
C) partajarea unor resurse
D) salvarea continutului registrelor din procseor
E) inserarea in lista de aastep[tare a taskului curent
Dispecerizarea prin prioritizare si rotatie construieste lista de asteptare
A) ca lista circulara
B) cu ajutorul a doua tabele
C) pe baza prioritatilor care nu sunt active
D) invers proportional cu valoarea
E) subv forma de stiva
Intalnirea a doua sau mai multe task-uri poarta generic denumirea de:
A) semaforizare
B) sincronizare
C) blocare
D) comunicare
E) dispecerizare
Daca task-ul 1 tocmai a fost la procesor si task-ul 2 urmeaza dupa el, cine ruleaza la procesor imediat dupa task-ul 1?
A) taskul 2
B) dispecerrul
C) nimeni
D) next_lap()
E) o intrerupere
{"name":"Grila 1 raspuns", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Test your knowledge on task management systems and concurrency with this engaging quiz! Cover various topics including task states, semaphores, process dispatching, and more.Whether you're a student or a professional, challenge yourself with questions like:What happens when two tasks share a variable?How does a dispatcher operate within an OS?What signifies a task's state at any moment?","img":"https:/images/course6.png"}