Sunteți pe pagina 1din 5

1.

Motivatia planificarii proceselor


n cazul folosirii multiprogramrii pe un calculator, acesta conine frecvent mai multe procese care
concureaz simultan pt controlul UCP. Aceast situatie apare ori de cate ori doua sau mai multe
procese se afl simultan n starea gata de execuie.Dac este disponibil o singura UCP, trebuie facuta
o alegere cu privire la procesul care va rula n continuare. Componenta sistemului de operare care face
aceast alegere se numete planificator(scheduler) i algoritmul folosit de aceasta se numeste algoritm
de planificare.
2.Definitia algoritmului de planificare preemtiv.
Un algoritm de planificare preemtiv alege un proces i l las s se execute o durat maxim fixat. n
caz c procesul este nc n execuie la sfritul intervalului de timp, este suspendat i planificatorul
alege alt proces (daca exist un proces disponibil). Efectuarea unei planificri preemtive necesit o
intrerupere de ceas la sfritul intervalului menionat pentru a muta controlul asupra UCP inapoi la
planificator.Dac nu exist un ceas, singura opiune este planificarea non-preemtiv.
3.Definitia algoritmului de planificare nonpreemtiv.
Un algoritm nonpreemtiv alege un proces pentru execuie i apoi l las s ruleze pn se blocheaz
(fie la o operaie I/E sau n ateptarea altui proces) sau pn cnd procesul renunt voluntar la UCP.
Chiar daca ruleaz ore intregi, procesul nu va fi suspendat forat. De fapt, nu se ia nicio decizie in
timpul ntreruperilor de ceas. Dupa ce s-a terminat procesarea ntreruperii, procesul care rula nainte de
ntrerupere este executat n continuare.
4.Definitia compute-bound process.
Anumite procese petrec majoritatea timpului efectund calcule, acestea se numesc procese limitate de
calcule (compute-bound). Ele au n mod obinuit rafale de utilizare a UCP mai lungi si ca atare
perioade de ateptare a operaiilor I/E rare.
5.Definitia I/O-bound process.
Exist de asemenea anumite procese care ii petrec majoritatea timpului ateptnd completarea
operaiilor de I/E, acestea se numesc procese limitate de I/E (I/O- bound). Procesele limitate de I/E au
rafale UCP scurte i perioade( frecvente) de asteptare a operaiilor de I/E. S observam c factorul
cheie este lungimea rafalei UCP i nu lungimea rafalei I/E. Procesele limitate de I/E sunt de acest tip
pentru c nu efectueaz multe calcule ntre cererile de I/E, pentru c nu au cereri I/E deosebit de lungi.
6.Care sunt obiectivele generale ale unui algoritm de planificare.
1. Corectitudine: fiecare proces primete o capacitate egal de UCP.
2. Respectarea politicilor: politica declarat trebuie respectat.
3. Echilibrul: meninerea tuturor prilor sistemului n operare.
7.Care sunt obiectivele generale ale unui algoritm de planificare pentru un sistem batch.
1. Productivitate: maximizarea numrului de sarcini pe or.
2. Timpul de rspuns: minimizarea timpului ntre introducerea sarcinii i terminare.
3. Gradul de utilizare a UCP: meninerea UCP ocupat tot timpul.
8.Care sunt obiectivele generale ale unui algoritm de planificare pentru un sistem interactiv.
1. Timpul de raspuns: rspuns rapid la cereri.
2. Proporionalitate: ndeplinirea ateptrilor utilizatorului.
9.Care sunt obiectivele generale ale unui algoritm de planificare pentru un sistem n timp real.
1. Respectarea termenelor: evitarea pierderii datelor.
2. Predictibilitate evitarea degradrii calitii sistemelor multimedia.

Sistemele n timp real sunt acele sisteme pentru care timpul joac un rol esenial. Astfel de
calculatoare sunt conectate de regul la un dispozitiv extern care trimite anumite semnale ctre
calculator, iar calculatorul trebuie s raspund la aceste semnale intr-un interval de timp bine stabilit.
Exemple de astfel de sisteme sunt pilotul automat ntr-un avion sau un sistem de monotorizare a unui
reactor nuclear.
10.Algoritmi de planificare utilizati pentru sistemele batch.
1. Primul venit-primul servit (first-come first-served). n cazul acestui algoritm, procesele primesc
UCP n ordinea n car cer.n principiu, exist o singur coad de procese gata de execuie. Atunci cnd
este introdus prima sarcin din exterior, dimineaa, este pornit imediat i i se permite s ruleze ct
timp dorete. Pe msur ce sosesc celelalte sarcini, ele sunt plasate la sfritul cozii. Atunci cnd
procesul n execuie se blocheaz este plasat la sfaritul cozii, ca i n cazul unei sarcini nou sosite.
2. Cea mai scurt lucrare la nceput(shortest job first). Atunci cnd mai multe sarcini, la fel de
importante, ateapt n coada de intrare pentru a fi pornite, planificatorul alege cea mai scurt lucrare
la nceput.
3. Urmatorul timp minim rmas(shortest remaining time next). n cazul acestui algoritm, planificatorul
alege mereu procesul al crui timp de executie rmas este cel mai scurt. Timpul de rulare trebuie
cunoscut a priori, atunci cnd sosete o nou lucrare, durata sa total este comparat cu timpul rmas
pentru procesul curent. Dac noua lucrare necesit mai puin timp dect procesul curent, acesta este
suspendat i se pornete noua lucrare. Aceast schem permite sarcinilor noi i scurte s obin un
serviciu de calitate.
4. Planificare pe trei nivele. Pe masur ce sosesc noi sarcini n sistem, ele sunt iniial plasate ntr o
coad de intrare situat pe disc. Planificatorul de primire decide ce sarcini va admite n sistem.
Celelalte sunt inute n coada de intrare pn cnd sunt selectate. Al doilea nivel de planificare const
n a decide care procese ar trebui pstrate in memorie i care ar trebui inute pe disc, aceast sarcin
este ndeplinit de planificatorul de memorie. Iar al treilea nivel de planificare consta de fapt n a alege
unul din procesele gata de execuie din memoria principal pentru a rula. Aceast component este
numit planificatorul UCP.
11.Algoritmi de planificare utilizati pentru sistemele interactive.
1. Planificare Round Robin. Fiecrui process i se atribuie un interval de timp numit cuant n care i se
permite s ruleze. Dac procesul este nc n execuie la sfritul cuantei, UCP se ia forat de la
respectivul proces i se atribuie altui proces. Dac procesul s-a blocat sau s-a terminat nainte de
terminarea cuantei de timp, comutarea UCP se face n momentul blocrii procesului.
2. Planificarea bazat pe prioriti. Fiecare process are o prioritate i se permite rularea procesului gata
de execuie cu cea mai mare prioritate. Pentru a prentmpina cazurile n care procesele cu prioritate
mare ruleaz la infinit, planificatorul poate decrete prioritatea procesului curent la fiecare semnal de
ceas (adic la fiecare ntrerupere de ceas). Daca aceast aciune determin prioritatea respectivului
proces s scad sub a urmatorului din ierarhie, acest ultim proces are posibilitatea s se execute.
3. Cozi multiple. Poiectanii creeaz clase de prioritate. Procesele din cea mai mare clas erau rulate
pentru o cuant de timp. Procesele din urmatorarea clas se rulau pe trei cuante de timp, urmatoarele
pe patru cuante de timp .a.m.d. Cnd un proces folosea n ntregime cuanta alocat, era mutat n jos o
clasa.
4. Shortest process next. Procesele interactive urmeaz de obicei modelul n care se asteapt o
comand, se execut comanda, se asteapt comanda, se execut comanda .a.m.d. Dac privim
execuia fiecrei comenzi ca pe o lucrare separat, atunci putem minimiza ntreg timpul de rspuns
executnd n continuare cea mai scurt lucrare. Singura problem const n a realiza care din procesele
executabile este cel mai scurt. O abordare const n a face estimri bazate pe comportamentul anterior

i a rula procesul cu cel mai mic timp de execuie estimate. Tehnica prin care se estimeaz urmtoarea
valoare ntr o serie prin considerarea sumei ponderate a ntregii valori curente msurate i a valorii
estimate anterioare se numete mbtrnire (aging).
5. Planificarea garantat. O abordare complet diferit la problema planificrii const n a face
promisiuni reale utilizatorilor referitoare la performan i de a le respecta. Dac exist n utilizatori
conectai n sistem n timp ce noi lucrm, vom primi aproximativ 1/n din puterea de calcul; n mod
similar, pe un sistem cu un singur utilizator pe care ruleaz n procese, toate fiind egale, fiecare ar
trebui s beneficieze de 1/n din ciclurile procesorului. Pentru a respecta aceast promisiune, sistemul
trebuie s in evidena capacitii de calcul consumate de fiecare proces de la crearea sa. Se
calculeaz apoi capacitatea la care are dreptul fiecare, mai precis intervalul de la creare este mpartit la
n.
6. Planificarea n sistem de loterie. Ideea fundamental este de a atribui proceselor bilete de loterie
pentru diferite resurse ale sistemului, cum ar fi timpul alocat pe UCP. Atunci cnd trebuie luat o
decizie de planificare se alege un bilet de loterie la ntamplare i procesul care deine biletul primete
resursa. Aplicat planificrii proceselor pe UCP, acest sistem poate desfura o loterie de 50 de ori pe
secunda, fiecare ctigtor primind ca premiu 20 msec de timp alocat pe UCP.
7. Planificare cu pri egale(Fair-Share Scheduling). Unele sisteme iau n considerare i posesorul
procesului inainte de planificare. n acest model, fiecare utilizator are alocat o anumit proporie a
capacitii UCP, iar planificatorul alege procesele astfel nct s se respecte aceast regula. Astfel dac
2 utilizatori au primit promisiunea c li se va aloca aproximativ 50 % din capacitatea UCP, fiecare va
primi exact atat , indiferent de cte procese are.
12.Algoritmi de planificare utilizati pentru sistemele n timp real.
Algoritmii de planificare pentru sistemele de timp real pot fi statici sau dinamici. Primii iau deciziile
de planificare nainte de inceperea rulrii sistemului. Cei din urm iau deciziile in timpul rulrii, adica
chiar n momentul apariiei evenimentelor externe. Planificarea statistic funcioneaz numai dac sunt
disponibile informaii perfecte apriori despre operaiile ce trebuie efectuate i termenele care trebuie
respectate. Algoritmii de planificare dinamic nu au aceste restricii.
(Tanembaum, 2001)
Unul dintre algoritmii de planificare n timp real foarte utilizai este algoritmul monotonic. Acesta
acord prioriti proceselor proportional cu frecvena de apariie a evenimentului ce declaneaz
procesul respectiv. De exemplu, un proces ce este declanat de un eveniment ce apare cu o perioad de
25 ms va primi prioritatea 40, n timp ce un proces ce este declanat cu o perioada de 125 ms va primi
prioritatea 8.
Un al doilea algoritm este cel al timpului de rezerva minim. De exemplu, dac un proces are nevoie
de 100 ms pentru a fi rulat, iar el trebuie terminat n cel mult 200 ms, atunci sistemul calculeaz timpul
de rezerv pe care l are la dispoziie pentru acest proces: 200-100=100 ms. Planificatorul menine o
lista a proceselor ordonat dupa acest timp de rezerv si atribuie UCP procesului cu timpul de rezerv
cel mai mic.
Alt algoritm de planificare n timp real este algoritmul termenului limita cel mai scurt . Atunci cnd
apare un eveniment extern, procesul care trateaz acel eveniment va fi adaugat la o lista cu procese
gata de execuie. Aceast lista este meninut sortat dup termenul limit n care trebuie tratat
evenimentul. Procesul cu termenul limita cel mai apropiat va fi primul rulat.
(Dodescu, 2003)
13.Planificarea user-thread-urilor.
n cazul n care mai multe procese au fiecare fire de execuie multiple, exist doua nivele de
paralelism: procese si fire. Planificarea n astfel de sisteme este substanial diferit, depinznd de tipul
de implementare suportat (n spaiul user, n spaiul kernel, sau ambele).
n cazul firelor de execuie implementate n spaiul utilizator, nucleul nu este contient de existena
firelor i opereaz n modul obinuit alegnd un proces , pe care l numim A si d procesului controlul
pe parcursul cuantei sale de timp. Planificatorul de fire de execuie din interiorul procesului A decide
ce fir sa ruleze, s spunem A1. Deoarece nu exist vreo ntrerupere de ceas pentru a multiprograma

firele, acest fir poate continua s se execute ct timp doreste. Dac foloseste toata cuanta procesului,
nucleul va selecta un alt proces spre execuie.
Atunci cnd procesul A ruleaz din nou, firul A1 va rencepe s se execute. Firul ca continua s
consume timpul procesului A pna cnd termin. n orice caz, comportamentul su antisocial nu va
afecta celelalte procese. Acestea vor obine cuanta considerat potrivit de planificator, indiferent de
ce se intampl n interiorul procesului A.
Considernd cazul n care firele de execuie ale lui A au relative puin de procesat ntr-o rafal de
utilizare a UCP, s spunem 5 msec de lucru ntr-o cuant de 50 msec. n consecin, fiecare ruleaz o
perioad scurt de timp, apoi cedeaz UCP planificatorului de fire. Aceast comportare poate duce la
secvena A1, A2, A3, A1, A2, A3 ,A1, A2, A3, A1, nainte ca nucleul s comute la procesul B. Aceast
situaie este ilustrat n figura urmatoare:

Algoritmul de planificare folosit de executive poate fi oricare din cele descrise mai sus.n practic,
cele mai des folosite sunt round i planificarea bazat pe prioriti. Singura constrngere este lipsa
unui ceas pentru a ntrerupe un fir de execuie care a rulat prea mult.
14.Planificarea kernel-thread-urilor.
n cazul firelor implementate n nucleu, nucleul alege un anumit fir spre execuie. Nu este nevoie ca
nucleul s in seam de procesul cruia i aparine firul, dar poate face acest lucru dac dorete. Firul
primeste o cuanta de timp i este suspendat forat dac depaete aceast cuant. Cu o cuant de 50
msec, dar cu fire de execuie care se blocheaz dupa 5 msec, ordinea firelor pentru o perioad de 30
msec ar putea fi A1, B1, A2, B2, A3, B3, ceea ce nu era posibil cu aceeasi parametrii n cazul firelor
implementate n spaiul utilizator. Aceast situaie este ilustrat parial n urmatoarea figur:

Deoarece nucleul tie c a comuta de la un fir al procesului A la un fir al procesului B este mai
costisitor dect s ruleze un al doilea fir al lui A ( datorit necesitii schimbrii harii de memorie i
stricrii memoriei ascunse), poate lua aceast informaie n considerare atunci cnd ia o decizie. De
exemplu, dac lum dou fire care sunt la fel de importante , dintre care unul aparine procesului al

crui fir tocmai s-a blocat i cellalt aparinnd unui alt proces, preferinele se ndreapt spre primul fir
de execuie.
15.Avantaje si dezavantaje ale planificrii user-thread-urilor comparativ cu kernel-thread-urilor
Performana reprezint o diferen major ntre firele din spaiul utilizator i cele din
nucleu.Efectuarea unei comutri de fire n spaiul utilizator este format din cteva instruciuni.n
cazul firelor din nucleu, este necesar o comutare de context complet, schimbarea harii de memorie,
invalidarea memoriei ascunse, operaia fiind mai lent cu cateva ordine de mrime. Pe de alt parte, n
cazul firelor implementate n nucleu, blocarea unui fir la o operaie I/E nu cauzeaz blocarea
procesului cum se ntampl n cazul implementrii n spaiul utilizator.
Un alt factor important este acela c firele din spaiul utilizator pot angaja un planificator specific
aplicaiei. Dac am considera spre exemplu cazul serverului de web, presupunem c un fir de lucru
tocmai s-a blocat i firul de dispecerizare i 2 fire de lucru sunt gata de execuie.Executivul tiind ce
poate face fiecare thread, poate s aleag cu uurin firul de dispecerizare, pentru c acesta s
porneasc execuia unui alt fir de execuie.Aceast strategie maximizeaz paralelismul ntr-un mediu
n care firele de lucru se blocheaz frecvent n memorii de I/E. n cazul firelor implementate n nucleu,
nucleul nu ar putea tii niciodata ce a facut fiecare fir (dei acestea ar putea avea prioritai diferite):

S-ar putea să vă placă și