Sunteți pe pagina 1din 42

Planificare

Exemplu FCFS -- FIFO


Pentru urmtorii
algoritmi, inclusiv
FCFS, se utilizeaz
informaiile din
tabelul alturat:

Process

P1
P2
P3
P4
P5
P6
P7
P8

Arrival
Arrival
Burst
(case 1) (case 2)

0
0
0
0
0
0
0
0

5
0
10
5
0
0
10
10

Quantum

6
25
3
5
N/A
15
10
12
4

Exemplu FCFS FIFO (cazul 1)


P1
0

P2
6

P3 P4
31 34

P5
39

P6
54

P7
64

P8
76

80

Exemplu FCFS FIFO


(cazul 1)
Calculai urmtoarele valori:
timpul de ateptare per proces,
timpul de rspuns, per proces,
valorile medii asociate..
Estimai numrul de operaii de
comutare de context.

Process

Wait
time

Response
time

P1

P2

31

P3

31

34

P4

34

39

P5

39

54

P6

54

64

P7

64

76

P8

76

80

Average

38

48

Exemplu FCFS FIFO (cazul 2)


P2
0

P5
25

P6
40

P1
50

P4 P3
56

61 64

P7

P8
76

80

Exemplu FCFS FIFO


(cazul 2)
Calculai urmtoarele valori:
timpul de ateptare per proces,
timpul de rspuns, per proces,
valorile medii asociate..
Estimai numrul de operaii de
comutare de context.

Process

Wait
time

Response
time

P1

45

51

P2

25

P3

51

54

P4

51

56

P5

25

40

P6

40

50

P7

54

66

P8

66

70

Average

41.5 51.5

Exemplu SJF (cazul 1)


1.

Desenai diagramele GANTT pentru acest caz.

2. Determinai valorile pentru timpii de


rspuns/ateptare
3. Determinai numrul de operaii de comutare de
context

Exemplu SJF (cazul 1)


Calculai urmtoarele valori:
timpul de ateptare per proces,
timpul de rspuns, per proces,
valorile medii asociate..
Estimai numrul de operaii de
comutare de context.

Process

Wait
time

Respons
e time

P1

12

18

P2

55

80

P3

P4

12

P5

40

55

P6

18

28

P7

28

40

P8

Average 20.375

30.375

Exemplu SJF (cazul 2)


1.

Desenai diagramele GANTT pentru acest caz.

2. Determinai valorile pentru timpii de


rspuns/ateptare
3. Determinai numrul de operaii de comutare de
context

Exemplu SJF (cazul 2)


Calculai urmtoarele valori:
timpul de ateptare per proces,
timpul de rspuns, per proces,
valorile medii asociate..
Estimai numrul de operaii de
comutare de context.

Process

P1
P2
P3
P4
P5
P6
P7
P8
Average

Wait
time

Response
time

Exemplu SRTN (doar cazul 2)


1.

Desenai diagramele GANTT pentru acest caz.

2. Determinai valorile pentru timpii de


rspuns/ateptare
3. Determinai numrul de operaii de comutare de
context

4. Nu uitai: la sosirea unui proces nou este luat o


nou decizie de planificare!
1.

De ce cazul 1 nu este interesant pentru SRTN?

Examplu SRTN (cazul 2)


Calculai urmtoarele valori:
timpul de ateptare per proces,
timpul de rspuns, per proces,
valorile medii asociate..
Estimai numrul de operaii de
comutare de context.

Process

P1
P2
P3
P4
P5
P6
P7
P8
Average

Wait
time

Response
time

Exemplu RR (cazul 1, cu Q=5)


1.

Desenai diagramele GANTT pentru acest caz.

2. Determinai valorile pentru timpii de


rspuns/ateptare
3. Determinai numrul de operaii de comutare de
context

Exemplu RR (cazul 1,
cu Q=5)
Calculai urmtoarele valori:
timpul de ateptare per proces,
timpul de rspuns, per proces,
valorile medii asociate..
Estimai numrul de operaii de
comutare de context.

Process

P1
P2
P3
P4
P5
P6
P7
P8
Average

Wait
time

Response
time

Exemplu RR (cazul 1, cu Q=optim)


1.

Determinai valoarea optim a cuantei (acoper


circa 80% din numrul de procese)

2. Desenai diagramele GANTT pentru acest caz.


3. Determinai valorile pentru timpii de
rspuns/ateptare

4. Determinai numrul de operaii de comutare de


context

Exemplu RR (cazul 1,
cu Q=optim)
Calculai urmtoarele valori:
timpul de ateptare per proces,
timpul de rspuns, per proces,
valorile medii asociate..
Estimai numrul de operaii de
comutare de context.

Process

P1
P2
P3
P4
P5
P6
P7
P8
Average

Wait
time

Response
time

Exemplu RR (cazul 1, cu Q=2)


1.

Desenai diagramele GANTT pentru acest caz.

2. Determinai valorile pentru timpii de


rspuns/ateptare
3. Determinai numrul de operaii de comutare de
context

4. Comparai aceast situaie cu cele dou cazuri


precedente!

Exemplu RR (cazul 1,
cu Q=2)
Calculai urmtoarele valori:
timpul de ateptare per proces,
timpul de rspuns, per proces,
valorile medii asociate..
Estimai numrul de operaii de
comutare de context.

Process

P1
P2
P3
P4
P5
P6
P7
P8
Average

Wait
time

Response
time

Reverse engineering
Pentru cele 9 procese din tabelul
alturat sunt oferite informaiile
legate de execuia algoritmului SJF.
1.

Determinai timpii estimai de


execuie i momentul sosirii
fiecrui proces, tiind c acestea
sosesc in grupuri de cte 3
procese, la momentele 0, 12, 24.

2. Evaluai execuia algoritmilor


SRTN, FIFO i RR pentru aceast
situaie (valoarea Q aleas este
optim)

Process

Wait
time

Response
time

P1

15

P2

P3

63

84

P4

P5

24

36

P6

15

P7

24

39

P8

12

P9

Avg.

Reverse engineering
Pentru cele 9 procese din tabelul
alturat sunt oferite informaiile
legate de execuia algoritmului SJF.
1.

Determinai timpii estimai de


execuie i momentul sosirii
fiecrui proces, tiind c acestea
sosesc in grupuri de cte 3
procese, la momentele 0, 12, 24.

2. Evaluai execuia algoritmilor


SRTN, FIFO i RR pentru aceast
situaie (valoarea Q aleas este
optim)

Process

Wait
time

Response
time

P1

15

24

P2

15

27

P3

36

51

P4

P5

P6

12

P7

15

P8

51

72

P9

Avg.

PS Example
Consider the
following priorities
for processes:
P1->3, P2->2, P3->1,
P4->1, P5->3, P6->2,
P7->1, P8->2

PS Example
Compute the following values:
wait time per process, response
time per process, average wait
time, average response time.
Also, estimate number of context
switch operations.

Process

P1
P2
P3
P4
P5
P6
P7
P8
Average

Wait
time

Response
time

PS example
Draw the GANTT diagrams for PS scenarios.
Imagine a scenario where the priority of a process is
lowered with 1/PRI for each unit of execution time.
When another process is picked, the priority goes to
its original value.

PS Example
Compute the following values:
wait time per process, response
time per process, average wait
time, average response time.
Also, estimate number of context
switch operations.

Process

P1
P2
P3
P4
P5
P6
P7
P8
Average

Wait
time

Response
time

Exerciii impas

Stri sigure/nesigure
Se consider urmtoarea stare:
ARE

MAXIM

Disponibil: 3
Este aceast stare sigur ? Menionai ordinea de execuie a
proceselor.
Dac unul dintre cele trei procese primete din aceast stare o
resurs, starea devine nesigur. Care este/sunt
procesul/procesele?

Stri sigure/nesigure
Se consider urmtoarea stare:
ARE

MAXIM

Disponibil: 10

n urma unei cereri de forma (1; 1; 2; 4), noua stare este


sigur? Artai care este ordinea de execuie a proceselor.
n urma unei cereri de forma (1; 2; 2; 4), noua stare este
sigur? Artai care este ordinea de execuie a proceselor.

Stri sigure/nesigure
Se consider starea
MAX

70

ARE
45

60

40

60

15

TOTAL: 150

Este aceast stare sigur? Artai care este ordinea de execuie a


proceselor.
Dacapare un proces nou, D, cu Max = 60 i Are = 25, este noua
stare sigur? Care este ordinea de execuie a proceselor?
Determinai valoarea maxim pentru HasD astfel nct noua stare
s fie sigur.

Algoritmul bancherului. Resurse


multiple.
Se consider matricile R i C descrise astfel:

2 0 0 1

R 1 0 1 0
2 1 0 0

0 0 1 0

C 2 0 0 1
0 1 0 0

Se consider A = (2; 1; 0; 0). Determinai valoarea


vectorului E. Este aceasta o situaie de impas? Care
dintre cele trei procese pot fi executate iniial pentru
ca impasul s poat fi evitat?

Algoritmul bancherului. Resurse


multiple.
Se consider matricile Max i C descrise astfel:
0

2
Max 6

4
0

0 1 2

7 5 0
6 5 6

3 5 6
6 5 2

2
C 0

2
0

0 1 2

0 0 0
0 3 4

3 5 4
3 3 2

Se consider A = (2; 1; 0; 0). Determinai valoarea


vectorului E. Este aceasta o situaie de impas? Care
dintre cele cinci procese pot fi executate iniial
pentru ca impasul s poat fi evitat?
Ce se ntmpl dac o cerere (0; 1; 0; 0) a fost
garantat pentru procesul al treilea?

Algoritmul bancherului. Resurse


multiple.
Se consider matricile R (Max requested, n acest exemplu) i C descrise
astfel:

6
R
3

2 2

1 3
1 4

2 2

6
C
2

0 0

1 2
1 1

0 2

Se consider E = (9; 3; 6). Determinai valoarea vectorului A. Este aceasta


o situaie de impas? Care dintre cele cinci procese pot fi executate iniial
pentru ca impasul s poat fi evitat?
Determinai o ordine de execuie a proceselor care poate conduce la o stare
nesigur, dup utilizarea unuia dintre procesele determinate mai sus.

Dac procesul P1 realizeaz o cerere parial (1; 0; 1), care dintre celelalte
procese poate fi executat ulterior pentru ca starea s fie sigur?

Algoritmul bancherului. Resurse


multiple.
Pentru execiiul anterior, se consider linia (3; 1;m)
pentru procesul P3 din matricea R. Determinai
valorile lui m astfel nct starea rezultat s poat fi
sigur (determinai procesele care pot fi execuate
iniial) sau nesigur, dup o execuie iniial a
proceselor P1, P2 sau P4.

Detecie
Se consider urmtoarea stare

0
R
0

1 0 0 1

0 1 0 1
0 0 0 1

0 1 0 1

1
C
0

0 1 1 0

1 0 0 0
0 0 1 0

0 0 0 0

E=(2,1,1,2,1) i A=(0,0,0,0,1). Care dintre cele patru


procese se afl ntr-o stare de impas?

Detecie

Se consider starea unui sistem descris prin

R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4
P1

P2 2

P3 0

P4 2

P5 0

R (Max)

Necesar ?

Determinai vectorul E i matricea cu resursele necesare, tiind c A = (2; 1; 0; 0).

Este aceasta o situaie de impas? Este aceast stare sigur? Care proces este/nu poate ajunge ntro situaie de impas?

Poate fi o cerere iniial de forma (0; 1; 0; 0) satisfcut pentru P3?

Detecie
ntr-un sistem 3 procese partajeaz 4 resurse
(exclusive). Fiecare proces folosete cel mult 2
resurse. Este posibil impasul pentru aceast stare?
Pentru un sistem cu N procese i M resurse, ntr-o
situaie ca cea de mai sus, care este valoarea maxim
a cererilor pentru ca impasul s nu aib loc?
Desigur, niciun proces nu va folosi mai mult de M
resurse !

SUBIECTE OS
1. Evolutia principalelor concepte in relatie cu familiile de sisteme de calcul/sisteme
de operare. Va fi urmarita evolutia tuturor conceptelor de baza, asa cum sunt
identificate in cartea lui Tanenbaum (v. Ontogeny recapitulates phylogeny), pentru
familia de sistemede calcul in jurul careia se realizeaza prezentarea. Pentru fiecare
moment/sistem de operare major vor fi puse in evidenta structurile/functionalitatile
si conceptele noi implementate.

Familii avute in vedere:

a) Mainframe (from batch computing to modern computers)

b) Micro (from micro computers to PC)

c) UNIXes (oarecum diferita, urmareste felul in care conceptele "centrale" au fost


implementate pentru sisteme UNIX, dar si felul in care acestea s-au "integrat" in
diferitele familii de sisteme de calcul).

Prezentarile vor fi realizate in PREZI. Durata unei prezentari: cca 30 minute!

De asemenea, se va avea in vedere contributie la dezvoltarea unui OS timeline!


http://en.wikipedia.org/wiki/Timeline_of_operating_systems

Acesta va fi dezvoltat folosind SIMILE timeline.

Modelarea algoritmilor de planificare ai


proceselor.
Prezentarea si modelarea algoritmilor de planificare,
pe o situatie "reala", intr-un mediu programat (se va
utiliza limbajul Scala/Akka) sau simulat
(se va utiliza un simulator de sistem de operare, ex:
NACHOS -- destul de vechi dar functional :)

http://inst.eecs.berkeley.edu/~cs162/fa12/Nachos/in
dex.html; PINTOS -http://www.stanford.edu/class/cs140/projects/pinto
s/pintos_1.html).

Probleme de comunicare intre procese.

Prezentarea unor probleme de comunicare intre procese si simularea


acestora pe o situatie "reala", intr-un mediu programat (bazat pe
Scala/Akka) sau simulat (un simulator de genul BACI sau distributed
BACI -http://inside.mines.edu/fs_home/tcamp/baci/dbaci.html#Obtain) Sunt
avute in vedere solutii diferite pentru problemele clasice, bazate pe
semafoare, mecanisme sleep-wakeup, cozi de mesaje etc.

De asemenea, pot fi considerate si aplicatii dezvoltate folosind alte


frameworkuri pentru OS (ex. http://csl.stanford.edu/~pal/pubs/tinyosprogramming.pdf ex. http://zoo.cs.yale.edu/classes/cs422/pios)
Cautare google: "Instructional Operating System" (cu ghilimele :D) sau
"operating system course environments

http://www.tik.ee.ethz.ch/~topsy/

http://www.cs.purdue.edu/homes/dec/xsoft.html
http://www.cs.cornell.edu/people/egs/portos/
(http://www.cs.cornell.edu/people/egs/portos/portos-all.zip)
http://code.google.com/p/geekos/

http://genode.org/documentation/general-overview/index

Memorie

Algoritmi de inlocuire a paginilor


Se considera situatia unui proces caruia ii sunt alocate
patru pagini cadru, cu urmatoarele informatii specificate:
Pg. virt.

Pg. cadru

Moment
incarcare

Moment
referinta

Bitul R

Bitul M

20

50

40

51

16

52

12

53

Daca are loc o eroare de paginare pentru o pagina virtuala


4, care dintre pagini va fi inlocuita pentru fiecare dintre
algoritmii urmatori. Explicati
FIFO, LRU, Ceas, Optim (bazat pe secventa de referinte
4,0,0,0,2,4,2,1,0,3,2)

Algoritmi de inlocuire a paginilor


Un proces realizeaza referinte catre cinci pagini
virtuale, in ordinea
1; 2; 3; 4; 1; 2; 5; 1; 2; 3; 4; 5

Care vor fi paginile inlocuite pentru o situatie cu trei


pagini cadru alocate procesului si algoritmul FIFO,
comparat cu algoritmul optim?
Dar pentru o situatie cu patru pagini cadru alocate
procesului?

Algoritmi de inlocuire a paginilor


Un proces realizeaza referinte catre opt pagini
virtuale, in ordinea
1; 0; 2; 2; 1; 7; 6; 7; 0; 1; 2; 0; 3; 0; 4; 5; 1; 5; 2; 4; 5; 6; 7; 6; 7; 2;
4; 2; 7; 3; 3; 2; 3

Care vor fi paginile inlocuite pentru o situatie cu


patru pagini cadru alocate procesului si algoritmul
LRU?
Dar pentru o situatie cu patru pagini cadru alocate
procesului si algoritmul FIFO?

Comparati rata de succes pentru cei doi algoritmi


(accese fara erori de paginare/total accese)

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