Académique Documents
Professionnel Documents
Culture Documents
3. Algorithmes d’ordonnancement
1
Principe d’ordonnancement des processus
Le but de la multiprogrammation est de maintenir le taux d’utilisation du microprocesseur
le plus élevé que possible donc d’agir en sorte qu’il soit moins possible inactif.
Étant donné qu’un processus se compose d’une succession de phase de calcul et des
phases d’entrée/sortie, le principe de base consiste à faire "recouvrir" une phase
2 d’entrée/sortie d’un processus avec des phases de calcul d’autre processus.
Principe d’ordonnancement des processus
- le processeur est alloué à un processus,
- dès que ce processus effectue une
demande d’E/S, le processeur est alloué à
un autre processus, éliminant ainsi les
Système mono-programmé temps d’attente de l’unité de traitement
chargé des E/S
3 Systèmes d'exploitation
Plan
Partie 1: Ordonnancement des processus
3. Algorithmes d’ordonnancement
4 Systèmes d'exploitation
Notions portant sur l’ordonnancement
• Ordonnanceur (scheduler) : partie du SE qui sélectionne les processus
qui vont pouvoir accéder au CPU.
• Algorithmes d’ordonnancement (scheduling algorithm)
6 Systèmes d'exploitation
Notions portant sur l’ordonnancement
Unité de Temps (UT) : il s’agit de valeur entière séparant deux
instants temporels. Le temps entre deux exécutions étant non mesurable et
non significatif dans ce cours, nous utiliserons l’UT pour désigner le
cadencement du temps en cours de cycle d’utilisation ou d’attente.
3. Algorithmes d’ordonnancement
8 Systèmes d'exploitation
Algorithme d’ordonnancement FCFS - First Come First Served
FCFS - First Come First Served (Premier arrivé, Premier servi (PAPS))
Gestion des processus à l'aide d'un FIFO
Ordonnancement non-préemptif
Process
P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P3 P3 P3 P3
us
9
Algorithme d’ordonnancement FCFS - First Come First Served
Processus Date d'arrivée Tp d'exécution
P1 0 5
P2 0 8
Diagramme de Gantt pour un FCFS P3 0 4
Process
P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P3 P3 P3 P3
us
• Le temps d’attente: il s’agit de la durée d’attente du processus à être exécuté dans l’état « prêt»,
(date de début d’exécution- date d’arrivée)
le temps d’attente moyen: se base sur tous les temps d’attente de chaque processus soit
10 Systèmes d'exploitation (0 + 5 + 13)/3 = 6 UT.
Algorithme d’ordonnancement FCFS - First Come First Served
Process
P1 P1 P1 P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P3 P3 P3 P3
us
calcul du temps (somme des UT) pris par le processus pour arriver à sa fin d’exécution. Il comprend son
temps d’attente et son temps d’exécution avec le processeur.
• 5 UT de temps pour le processus P1. le temps de traitement moyen, se base sur
tous les temps moyen de chaque processus
• 5 + 8 = 13 UT pour le processus P2 soit :
(5 + 13 + 17)/3 = 11,66 UT.
• 5 + 8 + 4 = 17 UT pour le processus P3.
Prenons maintenant le cas où nous donnons un ordre différent d’arrivé à savoir P3 puis
Temps
Processus Date d'arrivée
d'exécution
P1 0 5
P2 0 8
P3 0 4
Temps T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16
Processus P3 P3 P3 P3 P2 P2 P2 P2 P2 P2 P2 P2 P1 P1 P1 P1 P1
qu’il est possible d’améliorer les performances d’exécution des processus uniquement avec une
réorganisation des processus éligibles à l’exécution. C’est-à-dire uniquement en fonction des temps
des différents travaux des processus,
nous pouvons avoir une meilleure exécution en termes de temps tout en gardant les mêmes
algorithmes.
Cela nous montre que la mise en place d’un algorithme de trie peut rendre un système plus
performant.
Une anticipation sur les travaux des processus peut rendre plus performent une exécution.
13 Systèmes d'exploitation
Plan
Partie 1: Ordonnancement des processus
1. Principe d’ordonnancement des processus
3. Algorithmes d’ordonnancement
14 Systèmes d'exploitation
Algorithme d’ordonnancement SJF - Shortest Job First
Temp
T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16
s
Proces
P2 P1 P1 P1 P1 P1 P3 P3 P3 P3 P2 P2 P2 P2 P2 P2 P2
sus
• le temps d’attente: (date de début d’exécution- date d’arrivée ou bien date de fin d’exécution précédente)
• 0 UT pour le processus P1. (1-1)
• 3 UT pour le processus P3. (6 – 3 = 3 UT). le temps d’attente moyen:
• 9 UT pour le processus P2: .(10 – 1 = 9 UT); (0 + 3 + 9)/3 = 4 UT.
P2 arrive en T0 et commence tout de suite pour une UT,
puis il attend jusqu’à T10 pour reprendre son exécution,
• le temps de traitement
• 17 UT de temps pour le processus P2. le temps de traitement moyen:
• 5 UT pour le processus P1 (17 + 5 + 7)/3 = 9,66 UT.
17 • 3 + 4 = 7 UT pour le processus P3.