Documente Academic
Documente Profesional
Documente Cultură
Sisteme de Operare
Planificarea proceselor
Planificarea proceselor
Planificarea este funcia principal a sistemelor de operare.
Aproape toate resursele unui sistem de calcul sunt
planificate naintea utilizrii
Datorit naturii unor constrngeri relative la consumul de
resurse, problema planificrii se reduce la gsirea unui
algoritm eficient pentru gestionarea accesului i utilizarea
resurselor pe baza unei metrici de performan.
Tipurile de resurse luate n calcul sunt timpul CPU i
capacitatea memoriei.
Clasificare:
planificare static
planificare dinamic
[SO - 2014-2015]
2/42
Planificarea proceselor
[SO - 2014-2015]
3/42
Planificarea proceselor
Planificarea static:
Planificarea dinamic:
[SO - 2014-2015]
4/42
Deciziile de planificare
1.Cnd un proces trece din
starea running n starea
waiting (cerere I/O, crearea
unui proces fiu sau ateptarea
terminrii acestuia);
2.Cnd un proces trece din
starea running n starea ready
(cnd apare o ntrerupere);
3.Cnd un proces trece din
starea waiting n starea ready
(terminarea unei operaii
I/O);
4.Cnd un proces este terminat.
[SO - 2014-2015]
Doar n cazurile 1 i 4,
atunci planificarea
este nepreemptiv;
altfel, planificarea este
preemptiv.
5/42
Planificarea nepreemptiv
odat ce procesorul a fost alocat unui
proces, procesul pstreaz CPU pn cnd
se termin sau pn cnd trece ntr-o
stare de wait
este folosit n cazul MSDOS, Windows
3.11
nu necesit existena unui timer
[SO - 2014-2015]
6/42
Planificarea preemptiv
[SO - 2014-2015]
7/42
[SO - 2014-2015]
8/42
[SO - 2014-2015]
9/42
Niveluri de planificare
Planificarea pe termen lung
Planificarea pe termen mediu
Planificarea pe termen scurt
[SO - 2014-2015]
10/42
[SO - 2014-2015]
11/42
[SO - 2014-2015]
12/42
[SO - 2014-2015]
13/42
[SO - 2014-2015]
14/42
[SO - 2014-2015]
15/42
T
[SO - 2014-2015]
t wait ( pi )
wait =
i=1
16/42
t ciclare ( p i ) =t wait ( p i ) + ( p i )
( pi )
- timpul de execuie
n
T
[SO - 2014-2015]
t ciclare ( p i )
ciclare=
i=1
17/42
ncrcarea CPU
1
=
[SO - 2014-2015]
n coada de execuie
- rata medie de deservire a proceselor (
1/ este timpul mediu de execuie)
Dac <1 (<) avem cazul n care se
poate aplica un algoritm de planificare
(ncrcare normale) stare stabil.
Dac >1 (>), atunci unitatea central
va fi saturat indiferent de algoritmul de
planificare.
Dac =1 (=), lista de execuie nu este
suficient de lung.
Algoritmii ce vor fi prezentai se vor referi
la cazul <1 (<).
Curs 6 - Planificarea proceselor
18/42
regulile de aciune
implementarea n contextul sistemului de operare.
modalitatea de intervenie
funcia de prioritate
regula de arbitraj
[SO - 2014-2015]
19/42
momentele impuse de SO
[SO - 2014-2015]
20/42
cererea de memorie,
atingerea unui timp de servire de ctre CPU,
timpul real din sistem,
timpul total de servire,
valorile prioritilor externe,
necesarul de timp rmas pn la terminarea
procesului etc.
[SO - 2014-2015]
21/42
[SO - 2014-2015]
22/42
[SO - 2014-2015]
23/42
[SO - 2014-2015]
24/42
Algoritmi de planificare
Criterii de evaluare
Utilizarea CPU
Rspunsul (troughput)
Numrul de procese terminate n unitatea de timp
Timpul de ciclare (turnaround) timpul mediu de la sosirea
unui proces pn la terminarea lui
Timp de ateptare (waiting time) n lista gata de execuie
Timpul de rspuns (response time) timpul mediu de la
sosirea proceselor pn la prima execuie
Eficiena planificatorului = overhead-ul introdus de planificator.
Reprezentarea proceselor se va face cu ajutorul diagramelor
Gantt.
[SO - 2014-2015]
25/42
Algoritmi de planificare
FCFS (First-Come, First-served)
Procesele sunt planificate pe msura sosirii lor n
coada gata de execuie.
Procesorul este alocat procesului care l cere primul.
Algoritmul mai este denumit i FIFO.
Unitatea de msur a performanei este timpul mediu
de ateptare.
n acest caz pri(i) = ti , unde ti este momentul cnd
sosete n coada gata de execuie. Dac pentru dou
procese i i j, avem pri(i) < pri(j) atunci ti < tj .
[SO - 2014-2015]
26/42
Algoritmi de planificare
FCFS (First-Come, First-served)
sheduler
planificare
CPU
FIFO
blocate
[SO - 2014-2015]
27/42
Algoritmi de planificare
FCFS (First-Come, First-served)
[SO - 2014-2015]
28/42
Algoritmi de planificare
Shortest-Job-First (SJF) nepreemptiv
[SO - 2014-2015]
29/42
Algoritmi de planificare
Shortest-Job-First (SJF) preemptiv
[SO - 2014-2015]
30/42
Algoritmi de planificare
PS (Priority Scheduling)
Fiecare proces are asociat prioritate, fiind
lansate n execuie de la prioritatea cea mai
mic la prioritatea cea mai mare.
Este cel mai folosit algoritm.
[SO - 2014-2015]
31/42
Algoritmi de planificare
PS (Priority Scheduling)
[SO - 2014-2015]
32/42
Algoritmi de planificare
Round-Robin (RR)
este un algoritm preemptiv destinat sistemelor de tip timesharing i se bazeaz pe distribuirea n mod egal a timpului de
procesare ntre procese.
Este folosit o cuant de timp q (cu valori ntre 10 i 100
milisecunde) pe durata creia sunt executate pe rnd pri din
fiecare proces.
Dac se introduce i timpul consumat c prin schimbarea
contextului, fiecare proces va primi de fapt c+q uniti de timp.
Unele procese se pot termina nainte de expirarea cuantei de
timp, moment n care se invoca planificatorul care reface
prioritile, reseteaz cuanta de timp i replanific procesele.
Replanificarea are loc i la apariia unui proces nou.
Algoritmul RR se implementeaz folosind ntreruperea de ceas a
sistemului respectiv.
[SO - 2014-2015]
33/42
Algoritmi de planificare
Round-Robin (RR)
Dac cuanta de timp q este mai mare algoritmul tinde
ctre FCFS.
Algoritmul RR funcioneaz cel mai bine cnd 80% din
procese au timpii de execuie mai mari dect cuanta q.
[SO - 2014-2015]
34/42
Algoritmi de planificare
Round-Robin (RR)
[SO - 2014-2015]
35/42
Algoritmi de planificare
[SO - 2014-2015]
36/42
Algoritmi de planificare
Algoritmul
Feedback
[SO - 2014-2015]
37/42
Algoritmi de planificare
[SO - 2014-2015]
38/42
q = 10
terminated
If 8
q = 20
q=8
Priority 0
If > 8
If 16
q = 16
If > 16
q = 40
FCFS
FCFS
[SO - 2014-2015]
Priority 1
Procese
care intr
n coad
Priority 2
Procese care se
termin sau sunt
mutate n alt coad
39/42
Inversarea prioritii
apare atunci cnd un proces de prioritate
sczut acceseaz o seciune critic apoi
un proces de prioritate mare acceseaz i
el SC respectiv i se blocheaz.
procese de prioritate intermediar vor
mpiedica de asemenea primul proces (de
prioritatea cea mai sczut) s deblocheze
seciunea critic.
[SO - 2014-2015]
40/42
[SO - 2014-2015]
41/42
[SO - 2014-2015]
42/42