[so] [curs 5] exercitii
Razvan Deaconescu
razvan.deaconescu at cs.pub.ro
Wed Mar 28 08:42:04 EEST 2012
Andrei Epure <epure.andrei at gmail.com> writes:
> Ex 1
> Descrieți o situație în care un proces poate fi planificat într-un
> kernel non-preemptiv în momentul în care execută cod kernel.
> Cred că a răspuns Irina într-o discuție: atunci când îi expiră cuanta.
> Se mai poate întâmpla în alt caz?
Confunzi :-) Întrebarea la care a răspuns Irina era legată de un kernel
preemptiv, nu de unul non-preemptiv.
Vezi în răspunsul de aici[1] cele 5 cauze pentru context switch. Doar
ultimele trei sunt posibile pe un sistem cu nucleu non-preemptiv (adică
planificator non-preemptiv/cooperativ) în nucleu.
> Nu ar fi mai bună ca formulare "un proces poate fi întrerupt de
> planificator" decât cea curentă?
E incorectă exprimarea "proces poate fi întrerupt de planificator". Nu
planificatorul îl întrerupe, ci o întrerupere care generează apoi
rularea codului planificatorului.
> De ce folosirea de priorități statice poate conduce la starvation?
>
> Dacă se folosesc cozi de priorități, atunci vor rula doar procesele cu
> prioritate statică mare (indiferent de IO/CPU-boundness)?
Da. Cât timp în coada cu prioritate "superioară" ai procese READY, cele
din coada cu prioritate "inferioară" nu vor putea rula.
> Ex 2
> Care din următoarele operații apelează planificatorul de procese/thread-uri?
> citirea dintr-un fișier - fișierul e în memorie, se ia direct
Conținutul fișierului este probabil să fie pe disc, nu în memorie – nu
te poți baza pe sisteme de caching. Fișierul trebuie adus de pe
disc. Operația este, deci, o operație blocantă și conduce la invocarea
planificatorului.
> deschiderea unui fișier - I/O - trece în coada waiting
Da.
> operația P pe un semafor - poate să apeleze, dacă semaforul este 0
Da.
> operația V pe un semafor - nu
Și aici este da. În momentul procesul curent face up/V, este posibil să
trezească un proces care aștepta la down. Dacă acel proces este
prioritar, va fi planificat în locul procesului curent – se invocă
planificatorul.
[1]
http://news.gmane.org/gmane.education.region.romania.operating-systems
Răzvan
More information about the so
mailing list