Chap3 SE
Chap3 SE
Chap3 SE
CHAPITRE 3
L’ordonnancement des processus
Introduction
50
D’une manière plus concrète, cette tâche est prise en charge par deux
« routines système » :
le Scheduleur (Ordonnanceur).
le Dispatcheur
Ordonnanceur et Dispatcheur
51
Ordonnanceur :
Sélectionne le processus suivant à exécuter parmi ceux
qui sont prêts.
Dispatcheur :
Il s’occupe de l’allocation du processeur à un processus
sélectionné par l’ « Ordonnanceur »
Étapes :
Commutation de contexte : sauvegarder le contexte du processus
qui doit relâcher le processeur et charger le contexte de celui
qui aura le prochain cycle processeur
Branchement : se brancher au bon emplacement dans le
processus utilisateur pour le faire démarrer.
Problématique de l’ordonnancement
52
Objectifs :
S'assurer que chaque processus en attente d'exécution reçoive sa
part de temps processeur.
Minimiser le temps de réponse.
À maximiser
Utilisation
UCT : pourcentage d’utilisation
Débit : nombre de processus qui complètent dans l’unité de temps
À minimiser
Temps de réponse :
Temps de la première exécution – temps arrivée
Temps de rotation (turnaround/séjour) :
P1 P2 P3 P4 P1 P2 Temps
0 45 7 10,11,12 20 22 24
Processus Temps de Temps de rotation Temps d’attente
réponse (ou de séjour)
P1
P2
P3
P4 Processus Durée Arrivée
P1 7 0
Utilisation de l’UCT : ? ; Débit ?
P2 7 4
Temps moyen de réponse : ?
P3 2 7
Temps moyen de rotation : ?
P4 8 11
Temps moyen d’attente : ?
Processus Durée Arrivée
Exemple de mesure P1
P2
7
7
0
4
P3 P4 P3 2 7
56 P1 P2
P4 8 11
P1 P2 P3 P4 P1 P2 Temps
0 45 7 10,11,12 20 22 24
Processus Temps de Temps de rotation Temps d’attente
réponse (ou de séjour)
P1 0=0–0 22 = 22 – 0 15 = 0 + (20 – 5)
P2 1=5–4 20 = 24 – 4 13=(5-4)+(22-10)
P3 3 = 10 – 7 5 = 12 – 7 3 = 10 – 7
P4 1 = 12 – 11 9 = 20 – 11 1 = 12 – 11
P1 24 2
P2 P1 P3 Temps P2 3 0
0 3 27 30 P3 3 5
P[7] P[2]
P[6] P[3]
P[5] P[4]
Performance de tourniquet
64
Si q grand FCFS
Si q petit Un petit quantum augmente les commutations de contexte.
Exemple :
Troisprocessus : A, B, C qui arrivent à t=0 et durent 5 u.t
Essayer avec :
q =1
q = 10
Dans le deuxième cas, tourniquet fonctionne comme FCFS et le temps de
rotation moyen est meilleur
Circulaire / Tourniquet / Round-Robin (RR)
65 Quantum = 20
Processus Durée Arrivée
P1 53 0
P2 17 0
P3 68 0
P4 24 0
Circulaire / Tourniquet / Round-Robin (RR)
66 Quantum = 20 Processus Durée Arrivée
P1 53 0
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 P2 17 0
P3 68 0
0 20 37 57 77 97 117 121 134 154 162 P4 24 0
P1 53 0
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 P2 17 0
P3 68 0
0 20 37 57 77 97 117 121 134 154 162 P4 24 0
L’ordonnanceur à priorité donne à chaque processus une priorité qui peut être statique ou
dynamique.
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é
Priorité 3 P2
Priorité 2 P4 P6
Priorité 1 P7
Priorités avec files d’attente
72
A C E D C A B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
B C D E
Priorités avec files d’attente
73
A C E D C A B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
B C D E
Priorités avec files d’attente
74
A C E D C A B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
B C D E
Processus Temps de Temps de rotation (ou de Temps d’attente
réponse séjour)
A 0=0–0 29 19 = 24 – 5
B 27 = 29 – 2 32 27 = 29 – 2
C 0=5–5 19 4 = 19 – 15
D 8 = 18 – 10 9 8 = 18 – 10
E 0 = 15 – 15 3 0=3–3