Académique Documents
Professionnel Documents
Culture Documents
Mohammed Madiafi
Département Informatique, Réseaux et Télécoms
Ordonnancement
● Un ordinateur équipé d'un système d'exploitation à
temps partagé est capable d'exécuter plusieurs
processus de façon « quasi-simultanée ».
● La commutation des tâches, le passage d’une tâche à
une autre, est réalisée par un ordonnanceur au niveau
le plus bas du système.
● Cet ordonnanceur est activé par des interruptions
d’horloge, de disque, de terminaux.
2
Ordonnancement
● Objectif = utiliser efficacement les ressources de la
machine.
● Rôles de l’ordonnanceur
– détermine quelle tâche doit s'exécuter en priorité et
sur quel processeur
– gère l'ordre dans lequel les instructions de
différentes tâches sont exécutées
– est responsable de la commutation de contexte
● sauvegarde et restauration du contexte des tâches
(registres processeurs)
3
Ordonnancement
4
Type d'ordonnancement
● Coopératif : chaque processus doit suspendre de lui-
même son exécution pour permettre aux autres de
s’exécuter.
● Préemptif : l'ordonnanceur a la responsabilité de
l'interruption des tâches et du choix de la prochaine à
exécuter.
5
Critères d’Ordonnancement
● Utilisation du CPU
● Débit de processus qui terminent leur exécution par
unité de temps.
● Temps de rotation : le temps depuis le lancement du
processus jusqu’à sa terminaison (les attentes
incluses).
● Temps d’attente : temps d’un processus dans la file
d’attente des processus prêts.
● Temps de réponse : temps mis entre une requête
émise et la première réponse.
6
Critères d'optimisation
● Utilisation maximale du CPU
● Débit maximum
● Temps de rotation minimal
● Temps d’attente minimal
7
Algorithmes d'ordonnancement
● Premier arrivé, premier servi, FCFS
● Tourniquet, RR
8
Premier arrivé, premier servi, FCFS
9
Exemple
Processus Temps demandé
P1 24
P2 3
P3 3
● Supposons que les processus arrivent dans l’ordre
suivant: P1 , P2 , P3 Le diagramme de Gantt correspondant
est:
P1 P2 P3
0 24 27 30
P2 P3 P1
0 3 6 30
– Temps d’attente de P1 = 6; P2 = 0; P3 = 3
– Temps d’attente moyen: (6 + 0 + 3)/3 = 3
11
Plus court servi, SJF
● Deux schémas:
– Non préemptif – dès que le CPU est donné à un
processus, ce dernier ne peut être interrompu avant
la fin de son temps CPU
– préemptif – si un nouveau processus débarque
avec un temps CPU plus petit que le reste du
temps CPU du processus courant, on commute
vers le nouveau processus. Ce schéma est connu
sous le nom de Shortest-Remaining-Time-First
(SRTF)
● SJF est optimal : il donne un temps moyen minimal
pour un ensemble de processus donnés.
12
Exemple
Processus Temps d'arrivée Temps demandé
P1 0 7
P2 2 4
P3 4 1
P4 5 4
P1 P3 P2 P4
0 3 7 8 12 16
● Temps moyen d’attente = (0 + 6 + 3 + 7)/4 = 4
13
Exemple
Processus Temps d'arrivée Temps demandé
P1 0 7
P2 2 4
P3 4 1
P4 5 4
● SJF (préemptif)
P1 P2 P3 P2 P4 P1
0 2 4 5 7 11 16
● Temps d’Attente Moyen = (9 + 1 + 0 +2)/4 = 3
14
Plus court servi, SJF
● Inconvénient:
15
Tourniquet, RR
● Le temps processeur est divisé en intervalles de
temps appelés Quantum Q (de l'ordre de 10 à 100
ms), chaque processus s’exécutera exactement
pendant son quantum.
● Si n processus sont dans la file d’attente des
processus prêts et le quantum est q, alors chaque
processus reçoit 1/n du temps CPU en parties de q
unités. Aucun processus attend plus de (n-1)q.
● Le processeur sera réquisitionné jusqu’à ce que:
– Le processus élu ait épuisé son quantum,
– Le processus élu ait fini son exécution avant la fin
de son quantum,
– Le processus élu demande une entrée/sortie. 16
Exemple
Processus Temps demandé
P1 53
P2 17
P3 68
P4 24
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
17
Quantum et Temps de Commutation
de Contexte
Temps CPU = 10 Quantum Commutation
de contexte
10 0
6 1
1 9
18
Ordonnancement avec Priorité
● Une priorité (nombre entier) est associée à chaque
processus.
● Le CPU est alloué au processus à la priorité la plus
grande (le plus petit entier la plus grande priorité).
● SJF est un ordonnancement à priorité où la priorité
correspond au temps CPU.
● Problème Famine – processus à faible priorité
peuvent ne jamais s’exécuter.
● Solution Vieillissement – avec le temps, incrémenter
la priorité des processus en attente.
19