Upload
agate-chevallier
View
106
Download
2
Embed Size (px)
Citation preview
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é ?