allocation du cpu critères : ne permet pas de choisir un processus 3.27

Post on 04-Apr-2015

106 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ALLOCATION DU CPU

POURCENTAGE D'UTILISATION DU CPU

75 %

TAUX DE TRAITEMENT ( throughput )

4 travaux / minute1 minute

Critères :

Ne permet pas de choisir un processus

3.27

TEMPS DE TRAITEMENT ( turnaround time )

moyenne en seconde

TEMPS D'ATTENTE ( waiting time )

moyenne en seconde

Critères :

Critères utilisés dans les algorithmes

3.27

Critères :

TEMPS DE RÉPONSE ( système interactif )

réponsecommande

valeur moyenne

minimun / maximum

variation

Utiliser

Modèle simplifié

CPU phase de calcul (burst time)( temps d'exécution ou temps CPU)

idéal temps connu

P1P2P3 CPU

E/S

3.29

0

P1 P2 P3

24 27 30

diagramme de Gantt

TEMPS DE TRAITEMENT & TEMPS D'ATTENTE

Processus A

arrivée fin

temps d'attente

temps de traitement

A

arrivée fin

temps d'attente

temps de traitement

AAA

3.30

TEMPS DE TRAITEMENT & TEMPS D'ATTENTE

A

arrivée fin

temps d'attente

temps de traitement

AAA BBB B

temps de traitement = temps de fin - temps d'arrivée

temps d'attente = temps de traitement - temps d'exécution

(temps CPU)

Avec ou sans préemption

Remise en question de la décision, du choix de processus

Sélection d'un processus lorsque un processus termine (toujours) un processus arrive (préemption)

un signal de l'horloge (préemption au quantum)

P1P2P3 CPU

E/S

3.31

PREMIER ARRIVÉ, PREMIER SERVI

FCFS - First-Come, First-Served

P3 P2 P1 CPU

processus temps d'arrivée temps CPU

P1 0 24

P2 0 3

P3 0 3

P3 P2 CPU

processus temps d'arrivée temps CPU

P1 0 24

P2 0 3

P3 0 3

temps = 0 P1

0

P1

24 27 30

P3 CPU

processus temps d'arrivée temps CPU

P1 0 24

P2 0 3

P3 0 3

temps = 24 P2

0

P1 P2

24 27 30

CPU

processus temps d'arrivée temps CPU

P1 0 24

P2 0 3

P3 0 3

temps = 27 P3

0

P1 P2 P3

24 27 30

CPU

processus temps d'arrivée temps CPU

P1 0 24

P2 0 3

P3 0 3

temps = 30

0

P1 P2 P3

24 27 30

processustemps de

traitementtemps CPU

(d'exécution)temps

d'attenteP1 24 - 24 = 0

P2 27 - 3 = 24

P3 30 - 3 = 27total 81 - 30 = 51

moyenne(3) 27 - 10 = 17

0

P1 P2 P3

24 27 30

Fonction de l'ordre d'arrivée

Effet convoi

processustemps de

traitementtemps CPU

(d'exécution)temps

d'attenteP1 30 - 24 = 6

P2 3 - 3 = 0

P3 6 - 3 = 3total 39 - 30 = 9

moyenne(3) 13 - 10 = 3

ordre P2, P3 et P1

FCFS n'est pas optimum

0

P1P2 P3

3 6 30

PROCESSUS LE PLUS COURT EN PREMIER

SPN - Shortest Process Next

(SJF -- Shortest Job First )

P4 P3 P2 P1 CPU

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8

P3 0 7

P4 0 3

plus court

3.33

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 0 3

P4 P3 P2 P1 CPUtemps = 0 P4

plus court

0

P4

3 9 2416

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 0 3

P3 P2 P1 CPUtemps = 3plus court

P1

0

P4 P1

3 9 2416

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 0 3

P3 P2 CPUtemps = 9plus court

P3

0

P3P4 P1

3 9 2416

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 0 3

P2 CPUtemps = 16plus court

P2

0

P3P4 P1

3 9 2416

P2

processustemps de

traitementtemps CPU

(d'exécution)temps

d'attenteP1 9 - 6 = 3

P2 24 - 8 = 16

P3 16 - 7 = 9

P4 3 - 3 = 0total 52 - 24 = 28

moyenne(4) 13 - 6 = 7

OPTIMUM (sans préemption)

Possibilité d'attente indéfinie des processus longs

0

P3P4 P1

3 9 2416

P2

P3 P2 P1 CPU

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8

P3 0 7

P4 3 3

plus court

On modifie le temps d'arrivée de P4

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 3 3

P3 P2 P1 CPUtemps = 0plus court

P1

0

P1

3

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 3 3

P4 P3 P2 P1 CPUtemps = 3sans

préemption

0

P1

3

P1

La sélection du prochain processus se fait seulement à la fin de l'exécution d'un processus

?

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 3 3

P4 P3 P2 P1 CPUtemps = 3sans

préemptionP1

0

P1

6

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 3 3

P4 P3 P2 CPUtemps = 6plus court

P4

0

P4P1

6 9

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 3 3

P3 P2 CPUtemps = 9plus court

P3

0

P3P4P1

6 9 16

processus temps d'arrivée temps CPU

P1 0 6

P2 0 8P3 0 7P4 3 3

P2 CPUtemps = 16plus court

P2

0

P3P4P1

6 9 2416

P2

processustemps de

traitementtemps CPU

(d'exécution)temps

d'attenteP1 6 - 6 = 0

P2 24 - 8 = 16

P3 16 - 7 = 9

P4 6 - 3 = 3total 52 - 24 = 28

moyenne(4) 13 - 6 = 7

0

P3P4P1

6 9 2416

P2

P1 P2

P1P2

temps d'attente

réductiontemps d'attente

PROCESSUS LE PLUS COURT EN PREMIER

SPN - Shortest Process Nextest l'algorithme optimum   les temps d'exécution sont connus   sans préemption

3.34

PROCESSUS LE PLUS COURT EN PREMIER

SPN - Shortest Process Nextest l'algorithme optimum   les temps d'exécution sont connus   sans préemption

AVEC PRÉEMPTION

   SRT, temps restant le plus court ( en premier)

   meilleur que sans préemption

R n-3

temps réels R ( ou T )

temps estimés E ( ou S )

R n-2 R n-1 R n

E n-3 E n-1 E n-1 E n E n+1

??

E n+1( E n + R n =

E n+11/2 E n + R n =

E n+1+ R n =1/4 E n-1 + R n-1

E n+1+ R n =+ R n-1+ R n-2 R n-3

1/2

1/41/81/16

ESTIMATION DU TEMPS D'EXÉCUTION

Les résultats sont fonction de la qualité de l'estimé

i.e., de la variation des valeurs réelles

Moyenne avec pondération exponentielle

3.35

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

= 0.2

= 0.5

= 0.8

10987654321

Age of Obs ervation

Co

eff

icie

nt

Va

lue

Figure 9.8 Exponential Smoothing Coeffic ients

= 0.8

= 0.5

= 0.2

TEMPS RESTANT LE PLUS COURT (EN PREMIER)

SRT - Shortest Remaining Time ( First )

P4 P3 P2 P1 CPU

processus temps d'arrivée temps CPU

P1 0 8

P2 1 4

P3 2 9

P4 3 5

plus court

avec préemption

3.36

P1 CPUtemps = 0 P1

plus court

processus temps d'arrivée temps CPU temps restant

P1 0 8 8P2 1 4P3 2 9P4 3 5

0 1 10 265

P1

20

P2 P1 CPUtemps = 1 P2

plus court

processus temps d'arrivée temps CPU temps restant

P1 0 8 -1 = 7P2 1 4 4 P3 2 9P4 3 5

0 1 10 265 20

P2P1

2

P3 P2 P1 CPUtemps = 2plus court

processus temps d'arrivée temps CPU temps restant

P1 0 8 -1 = 7P2 1 4 -1 = 3P3 2 9 9P4 3 5

0 1 10 265 20

P1

3

P2

P2

P4 P3 P2 P1 CPUtemps = 3plus court

processus temps d'arrivée temps CPU temps restant

P1 0 8 -1 = 7P2 1 4 -2 = 2P3 2 9 9P4 3 5 5

P2

0 1 10 265 20

P1

3

P2

P4 P3 P1 CPUtemps = 5plus court

processus temps d'arrivée temps CPU temps restant

P1 0 8 -1 = 7P2 1 4 -4 = 0P3 2 9 9P4 3 5 5

À partir du temps 5, il n'y a plus de préemption, car tous les processus sont arrivés.

P4

0

P4

1 10 265 20

P1

3

P2

P3 P1 CPUtemps = 10plus court

processus temps d'arrivée temps CPU temps restant

P1 0 8 -1 = 7P2 1 4 -4 = 0P3 2 9 9P4 3 5 -5 = 0

P1

0

P1P4

1 10 26175

P1 P2

P1 CPUtemps = 17plus court

processus temps d'arrivée temps CPU temps restant

P1 0 8 -8 = 0P2 1 4 -4 = 0P3 2 9 9P4 3 5 -5 = 0

P3

0

P1P4

1 10 2617

P3

5

P1 P2

processustemps de

traitementtemps CPU

(d'exécution)temps

d'attenteP1 17-0 - 8 = 9

P2 5-1 - 4 = 0

P3 26-2 - 9 = 15

P4 10-3 - 5 = 2total 52 - 26 = 26

moyenne(4) 13 - 6.5 = 6.5

0

P1P4

1 10 2617

P3

5

P1 P2

ROUND ROBIN OU TOURNIQUET

P3 P2 P1 CPU

processus temps d'arrivée temps CPU

P1 0 20

P2 0 3

P3 0 7

pour système à temps partagé ou interactif

retourne à la fin de la file après un quantum

quantum = 4 ut

3.37

P3 P2 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 20

P2 0 3 3

P3 0 7 7

temps = 0 P1

quantum = 4 ut

0 4 30

P1

10 20

P3 P2 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 16

P2 0 3 3

P3 0 7 7

temps = 4 P1

quantum = 4 ut

0 4 30

P1

10 20

P1

P1 P3 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 16

P2 0 3 3

P3 0 7 7

temps = 4 P2

quantum = 4 ut

0

P2

4 7 30

P1

10 20

P1 P3 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 16

P2 0 3 0

P3 0 7 7

temps = 7 P2

quantum = 4 ut

0

P2

4 7 30

P1

10 20

fin

X

P1 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 16

P2 0 3 0

P3 0 7 7

temps = 7 P3

quantum = 4 ut

0

P2

4 7 30

P3P1

2011

P1 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 16

P2 0 3 0

P3 0 7 3

temps = 11 P3

quantum = 4 ut

0

P2

4 7 30

P3P1

2011

P3

P3 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 16

P2 0 3 0

P3 0 7 3

temps = 11 P1

quantum = 4 ut

0

P2

4 7 30

P1P3P1

15 2011

P3 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 12

P2 0 3 0

P3 0 7 3

temps = 15 P1

quantum = 4 ut

0

P2

4 7 30

P1P3P1

15 2011

P1

P1 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 12

P2 0 3 0

P3 0 7 3

temps = 15 P3

quantum = 4 ut

0

P2 P3

4 7 30

P1P3P1

15 1811

P1 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 12

P2 0 3 0

P3 0 7 0

temps = 18 P3

quantum = 4 ut

0

P2 P3

4 7 30

P1P3P1

15 1811

fin

X

CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 12

P2 0 3 0

P3 0 7 0

temps = 18 P1

quantum = 4 ut

0

P2 P3

4 7 30

P1P1P3P1

15 18 2211

P1 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 8

P2 0 3 0

P3 0 7 0

temps = 22

quantum = 4 ut

0

P2 P3

4 7 30

P1P1P1P3P1

15 18 22 2611

P1 CPU

processus temps d'arrivée temps CPU temps restant

P1 0 20 4

P2 0 3 0

P3 0 7 0

temps = 26

quantum = 4 ut

0

P1P2 P3

4 7 30

P1P1P1P3P1

15 18 22 2611

processustemps de

traitementtemps CPU

(d'exécution)temps

d'attenteP1 30 - 20 = 10

P2 7 - 3 = 4

P3 18 - 7 = 11total 55 - 30 = 25

moyenne(3) 18.33 - 10 = 8.33

0

P1P2 P3

4 7 30

P1P1P1P3P1

15 18 22 2611

AVEC PRIORITÉ

avec préemption ou sans préemption

P5 P4 P3 P2 P1 CPU

processustemps

d'arrivéetemps CPU priorité

P1 0 10 3

P2 0 1 1*

P3 0 2 3

P4 0 1 4

P5 0 5 2

plus prioritaire1 est la plus forte priorité

3.39

P5 P4 P3 P2 P1 CPUtemps = 0

P2

processustemps

d'arrivéetemps CPU priorité

P1 0 10 3P2 0 1 1*P3 0 2 3P4 0 1 4P5 0 5 2

plus prioritaire 1 est la plus forte priorité

0 1 19

P2

105 15

P5 P4 P3 P1 CPUtemps = 1

P5

processustemps

d'arrivéetemps CPU priorité

P1 0 10 3P2 0 1 1*P3 0 2 3P4 0 1 4P5 0 5 2

plus prioritaire 1 est la plus forte priorité

0 1 196

P5P2

10 15

P4 P3 P1 CPUtemps = 6

P1

processustemps

d'arrivéetemps CPU priorité

P1 0 10 3P2 0 1 1*P3 0 2 3P4 0 1 4P5 0 5 2

plus prioritaire 1 est la plus forte priorité

0

P1

1 196 16

P5P2

P4 P3 CPUtemps = 16

P3

processustemps

d'arrivéetemps CPU priorité

P1 0 10 3P2 0 1 1*P3 0 2 3P4 0 1 4P5 0 5 2

plus prioritaire 1 est la plus forte priorité

0

P1 P3

1 196 1816

P5P2

P4 CPUtemps = 18

P4

processustemps

d'arrivéetemps CPU priorité

P1 0 10 3P2 0 1 1*P3 0 2 3P4 0 1 4P5 0 5 2

plus prioritaire 1 est la plus forte priorité

0

P1 P3

1 196 1816

P5 P4P2

processustemps de

traitementtemps CPU

(d'exécution)temps

d'attenteP1 16 - 10 = 6

P2 1 - 1 = 0

P3 18 - 2 = 16

P4 19 - 1 = 18

P5 6 - 5 = 1total 60 - 19 = 41

moyenne(5) 12 - 3.8 = 8.2

0

P1 P3

1 196 1816

P5 P4P2

QUEUES MULTIPLES

Processor

Eventoccurs Blocked Queue

Event Wait

Preemption

Admit

RQn

RQ1

RQ0Dispatch

Release

.

.

.

peuvent être utilisées dans une allocation avec priorité

3.40

QUEUES MULTIPLES

Pour distribuer le temps CPU entre différentes classes d'utilisateurs.

classe étudiant (interactif, 50% du CPU)

classe administration (par lot, 50% du CPU)

ReleaseRQ0Admit

Processor

ReleaseRQ1

* * *

* * *

Processor

ReleaseRQn

Processor

Priorités entre les queues

Quantum de plus en plus long

Exemple: IBM/VM

Pour aider les processusavec beaucoup d'E/S

3.41FEEDBACK

Stallings, page 408Figure 9.7 Queuing Diagram for Virtual Round-Robin Scheduler

I/O 1 Wait

I/O 2 Wait

I/O n Wait

Dispatch

Time-out

ReleaseReady Queue

AdmitProcessor

I/O 1 Queue

Auxiliary Queue

I/O 1Occurs

I/O 2Occurs

I/O nOccurs

I/O 2 Queue

I/O n Queue

***

La queue auxiliaire a priorité

Termine le temps restant du quantum

COMPARAISON DES ALGORITHMES

Processus intensifs en E/S Processus intensifs en calcul

Processus courts Processus longs

3.42

FCFSpremier arrivé,premier servi

pas de préemptionpénalise les processus courtspénalise les processus avec E/S

SPNprocessus le plus court

pas de préemptionpénalise les processus longsou avec beaucoup de temps CPU (famine)

SRTtemps restantle plus court

avec préemptionpénalise les processus longs (plus sévère)ou avec beaucoup de temps CPU (famine)

Round Robintourniquet

préemption (au quantum)équitable ( long vs court )équitable ( CPU vs E/S )

Feedbackqueues multiples

préemption (au quantum)équitablefavorise les processus avec E/S

Priorité ?

top related