Vous êtes sur la page 1sur 20

Exercice d’application

Considérons cinq Processus P1, P2, P3, P4, P5, dont les temps
d'exécution et leurs temps d’arrivée respectifs sont les suivants

Le temps de commutation est supposé nul.


 Dessiner le diagramme de GANTT pour l’ordonnancement SRT
et Round Robin (quantum = 3 unités de temps)
 Calculer le temps de séjour de chaque processus, le temps
moyen de séjour, le temps d’attente, le temps moyen1
d’attente, et le nombre de changements de contexte
2
3
Exercice d’application
Soient trois processus A, B et C. Le processus A arrive en premier suivi
de B (20 msec après), puis C (46 msec après A). On suppose que
l’exécution du processus A nécessite 80 msec de temps d’exécution.
L’exécution du processus B nécessite d’abord 50 msec de temps
d’exécution, bloquera ensuite durant 20 msec pour une entrée/sortie,
puis exigera finalement 30 msec de temps d’exécution. L’exécution du
processus C nécessite 40 msec de temps d’exécution. Le temps de
changement de contexte est de 1 msec.
 Dessiner le diagramme de GANTT pour l’ordonnancement Round
Robin en considérant quantum = 30 msec, 50 msec et 20 msec.
 Calculer le temps de séjour de chaque processus A, B et C, le temps
moyen de séjour, le temps d’attente, le temps moyen
d’attente, et le nombre de changements de contexte
4
Soient trois processus A, B et C. Le processus A
arrive en premier suivi de B (20 msec après), puis C
(46 msec après A). On suppose que l’exécution du
processus A nécessite 80 msec de temps d’exécution.
L’exécution du processus B nécessite d’abord 50
msec de temps d’exécution, bloquera ensuite durant
20 msec pour une entrée/sortie, puis exigera
finalement 30 msec de temps d’exécution.
L’exécution du processus C nécessite 40 msec de
temps d’exécution. Le temps de changement de
contexte est de 1 msec.
T. Arrivée T. Exec E/S T.Exec
A…………. 0…………. 80
B…………. 20……….. 50………….…………. 20………………. 30
C…………. 46……….. 40
T. Arrivée T. Exec E/S T.Exec
A…………. 0…………. 80
B…………. 20……….. 50………….…………. 20………………. 30
C…………. 46……….. 40
RR avec Q=30 ms
164

31 145 166

A B A C B A C B
0 20 30 46 61 92 123 144 165 176 207
A B C

FA : A B B A A C B A C B
A C C B A C B
B A C

F.A. à l’instant 164


E/S : B
20 ms
164

31 145 166

A B A C B A C B
0 30 61 92 123 144 165 176 207

B
20 ms

Temps de Séjour Temps d’Attente

A 165-0=165 165-80=85

207-20-20=167
B 167-(50+30)=87
(144-20)+(207-164)=
C 176-46=130 130-40=90

Moy 154 87.33

8 commutations de contexte
T. Arrivée T. Exec E/S T.Exec
A…………. 0…………. 80
B…………. 20……….. 50………….…………. 20………………. 30
C…………. 46……….. 40
RR avec Q=50 ms
121

A B C A B
0 20 4650 101 142 173 204
A B C

FA : A B B B C A A B
C C A B B
A

F.A. à l’instant 121


E/S : B
20 ms
121

A B C A B
0 20 4650 101 142 173 204
A B C

B
20 ms

Temps de Séjour Temps d’Attente

A 173 173-80=93

B 204-20-20=164 164-(50+30)=84

C 142-46=96 96-40=56

Moy

5 commutations de contexte
Ordonnanceur basé sur les priorités
 L’ordonnanceur à priorité donne à chaque processus une priorité
qui peut être statique ou dynamique
 Le choix du processus à élire dépend des priorités des processus
prêts
 Les processus ayant la même priorité sont regroupés dans une file
FIFO
Il y’a autant de files qu’il y a de niveau de priorité
 L’ordonnanceur choisit le processus le plus prioritaire qui se
trouve en tête de file

10
Ordonnanceur basé sur les priorités

Entête de file d’attente (Priorité supérieure)


Priorité 4
Priorité 3
Priorité 2
Priorité 1 (Priorité inférieure)

 Remarque : Il y a des SE qui utilisent différents algorithmes


d‘ordonnancement pour chaque file de priorité
11
Ordonnanceur basé sur les priorités
Exemple (1/2) (Priorité supérieure)
Processus Temps Temps Priorité 1 E
d’exécution d’arrivage
2 C D C
A 10 0 3
3 A A
B 5 2 7 7 B
C 15 5 2 (Priorité inférieure)
D 1 10 2
E 3 15 1
On suppose que les priorités sont statiques

A A A A A C C C C C C C C C C E E E DC C C C C A A A A A B B B B B

A B C D E

12
Ordonnanceur basé sur les priorités
Exemple (2/2)
A A A A A C C C C C C C C C C E E E DC C C C C A A A A A B B B B B

A B C D E
Processus Temps de séjour Temps d’attente
A 29 29-10=19
B 32 32-5=27
C 19 19-15=4
D 9 9-1=8
E 3 3-3=0

Temps de séjour moyen=18,4


Temps d’attente moyen=11,6
7 commutations de contexte
13
Exercice
Processus Temps Temps Priorité
d’exécution d’arrivage
A 10 0 3
B 5 2 3
C 15 5 2
D 1 10 2
E 3 15 1

- Appliquer l’algorithme basé sur les priorités


- Appliquer l’algorithme basé sur les priorités avec file d’attente utilisant
Tourniquet pour chaque catégorie de priorité : tant qu’il y a des processus
exécutables dans la catégorie de priorité i, on y applique Tourniquet et on ne
s’occupe pas des catégories inférieures. Si la catégorie i est vide, on exécute
les processus de la catégorie i-1
- Utiliser priorité fixe et quantum = 5 ms - Utiliser priorité fixe et quantum = 10 ms
14
Que se passe si le temps d’exécution de E prend des heures ??
Processus Temps Temps Priorité (Priorité supérieure)
d’exécution d’arrivage
1 E
A 10 0 3
2 C D C C
B 5 2 3
3 A B A
C 15 5 2
(Priorité inférieure)
D 1 10 2
E 3 15 1
Utiliser priorité fixe et RR avec quantum = 5 ms
A A A A A C C C C C DC C C C E E E C C C C C C B B B B B A A A A A

A B C D E

Note : Placer le nouveau processus dans la file d’attente puis y remettre le processus suspendu
15
Processus Temps Temps Priorité (Priorité supérieure)
d’exécution d’arrivage
1 E
A 10 0 3
2 C D C
B 5 2 3
3 A B A
C 15 5 2
(Priorité inférieure)
D 1 10 2
E 3 15 1
Utiliser priorité fixe et RR avec quantum = 10 ms
A A A A A C C C C C C C C C C E E E D C C C C C B B B B B A A A A A

A B C D E

Que se passe si le temps d’exécution de E prend des heures ?? 16


Ordonnanceur basé sur les priorités avec
files d’attente à rétroaction ou retour (1/2)
Attribution et évolution des priorités
 Pour empêcher les processus de priorité élevée de s’exécuter
indéfiniment (privation de ressources ou famine), l’ordonnanceur
diminue régulièrement la priorité du processus en cours d’exécution.
 L’attribution et l’évolution des priorités dépendent des objectifs fixés et
de beaucoup de paramètres.
Exemple
• Les processus qui font beaucoup d’E/S doivent acquérir le processeur
dès qu’ils le demandent.
• La nouvelle valeur de priorité est le rapport : quantum/temps
réellement utilisé par le processus.
• Les processus qui ont le plus grand rapport sont les plus prioritaires : –
Si le quantum = 100 ms et le temps utilisé = 2 ms, la nouvelle priorité
est 50. – Si le quantum = 100 ms et le temps utilisé = 50 ms, la
nouvelle priorité est 2. 17
Ordonnanceur basé sur les priorités avec
files d’attente à rétroaction ou retour (2/2)
 La priorité du processus actif (en cours d’exécution) est toujours
comparée à celle du processus prêt le plus prioritaire (en tête de file)
 Lorsqu’elle devient inférieure, une commutation entre les deux
processus est effectuée.
 Dans ce cas, le processus suspendu est inséré à la fin de la file (queue)
correspondant à la nouvelle priorité calculée (Le processus se déplace
entre les files d’attentes).

Entête de file d’attente (Priorité supérieure)


Priorité 4
Priorité 3
Priorité 2
Priorité 1 (Priorité inférieure) 18
Ordonnanceur Windows
 L’ordonnancement au niveau du SE Windows se base sur
l’algorithme priorité dynamique.
 Une priorité qui évolue au cours de l’exécution du processus.
 L’ordonnanceur parcourt chaque file en utilisant l’algorithme
du Tourniquet

19
Ordonnanceur Linux
 Une priorité est affectée à chaque processus
 La priorité la plus importante est celle qui est la plus élevée
 Un quantum est affecté à un processus selon sa priorité
 Un processus ayant une priorité de 10 aura un quantum de 100
ms.
 Après 10 ms, le quantum diminue de 1 ms
 Le processus ayant la note la plus élevée sera exécuté en
premier
 Note= priorité + quantum E

20

Vous aimerez peut-être aussi