Vous êtes sur la page 1sur 102

Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Systèmes d’Exploitation
Cours 2/6 : Ordonnacment

Thomas Lavergne
Université Paris-Sud / PolyTECH

Cycle ingénieur – ET3

ET3Sys Systèmes d’Exploitation Thomas Lavergne 1/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plan

1 Problème d’ordonnancement

2 Algorithme FIFO

3 Plus court d’abord

4 Round-Robin

5 Exemples concrets

ET3Sys Systèmes d’Exploitation Thomas Lavergne 2/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Rappel

Multiprogrammation et temps partagé


Les processus sont répartis sur les ressources.
Plusieurs processus peuvent vouloir la même ressource en
même temps
File d’attente de PCB

ET3Sys Systèmes d’Exploitation Thomas Lavergne 3/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Rappel

Multiprogrammation et temps partagé


Les processus sont répartis sur les ressources.
Plusieurs processus peuvent vouloir la même ressource en
même temps
File d’attente de PCB

Ordonnancement
Choisir un processus parmi tous les processus dans une liste
d’attente pour une ressource
→ Ordonner les processus pour l’accès à la ressource

ET3Sys Systèmes d’Exploitation Thomas Lavergne 3/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Rappel

Multiprogrammation et temps partagé


Les processus sont répartis sur les ressources.
Plusieurs processus peuvent vouloir la même ressource en
même temps
File d’attente de PCB

Ordonnancement
Choisir un processus parmi tous les processus dans une liste
d’attente pour une ressource
→ Ordonner les processus pour l’accès à la ressource

Exemple : processeur
Choisir parmi les processus prêt + en exécution

ET3Sys Systèmes d’Exploitation Thomas Lavergne 3/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Contraintes I

Temps réel
Permettre aux ”petits” processus (ex : E/S) d’accéder au
processeur plus vite

nb de proc.

70%

durée avant requête

Les E/S causent beaucoup d’interruptions


→ cycles UC très courts (2µs)

ET3Sys Systèmes d’Exploitation Thomas Lavergne 4/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Ordonnancement

Attention
On ne s’intéresse pas à la durée totale du processus. . .

ET3Sys Systèmes d’Exploitation Thomas Lavergne 5/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Ordonnancement

Attention
On ne s’intéresse pas à la durée totale du processus. . .
Mais au temps pendant lequel il va garder le processeur :
Jusqu’à ce qu’il termine
Jusqu’à ce qu’il fasse une E/S
Jusqu’à ce que l’OS décide que ce n’est plus son tour !

ET3Sys Systèmes d’Exploitation Thomas Lavergne 5/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Contraintes II

Commutation de contexte
Le remplacement du processus en exécution a un coût !
Exécution de la routine d’ordonnancement
Sauvegarde du contexte (registres + PC)
Chargement d’un nouveau contexte

ET3Sys Systèmes d’Exploitation Thomas Lavergne 6/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Contraintes II

Commutation de contexte
Le remplacement du processus en exécution a un coût !
Exécution de la routine d’ordonnancement
Sauvegarde du contexte (registres + PC)
Chargement d’un nouveau contexte

Ordonnancer lorsque

ET3Sys Systèmes d’Exploitation Thomas Lavergne 6/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Contraintes II

Commutation de contexte
Le remplacement du processus en exécution a un coût !
Exécution de la routine d’ordonnancement
Sauvegarde du contexte (registres + PC)
Chargement d’un nouveau contexte

Ordonnancer lorsque
Le processus en exécution se termine
Un nouveau processus passe dans l’état prêt
Un processus en attente passe dans l’état prêt
Le processus en exécution a eu la main trop longtemps

ET3Sys Systèmes d’Exploitation Thomas Lavergne 6/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Diaramme de Gantt

Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.

ET3Sys Systèmes d’Exploitation Thomas Lavergne 7/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Diaramme de Gantt

Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.
Ressources

CPU

HD1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 7/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Diaramme de Gantt

Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.

0 1 2 3 4 5 6
Ressources

CPU

HD1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 7/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Diaramme de Gantt

Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.

0 1 2 3 4 5 6
Ressources

CPU Proc.1

HD1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 7/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Diaramme de Gantt

Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.

0 1 2 3 4 5 6
Ressources

CPU Proc.1

HD1 Proc.1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 7/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Diaramme de Gantt

Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.

0 1 2 3 4 5 6
Ressources

CPU Proc.1 Proc.2

HD1 Proc.1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 7/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Diaramme de Gantt

Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.

0 1 2 3 4 5 6
Ressources

CPU Proc.1 Proc.2 Proc.1 Proc.3

HD1 Proc.1 Proc.2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 7/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Diaramme de Gantt

Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.

0 1 2 3 4 5 6
Arrivées : P1 P2, P3
Ressources

CPU Proc.1 Proc.2 Proc.1 Proc.3

HD1 Proc.1 Proc.2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 7/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Diaramme de Gantt

Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.

Applications
Ordonnancement : ressources = CPU ou périphérique
Génie logiciel :
ressources = tâches
processus = développement
Gestion d’équipe :
ressources = humains
processus = tâches
ajout de lien de dépendance

ET3Sys Systèmes d’Exploitation Thomas Lavergne 7/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Objectifs de l’ordonnancement

Équitable
Tous les processus ont accès aux ressources dont ils ont besoin, en
fonction de leur priorité

Efficace
Bonne répartition entre les processus E/S et calcul

Réactif
Un processus ne doit pas attendre trop longtemps

ET3Sys Systèmes d’Exploitation Thomas Lavergne 8/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères I

Objectif
Choisir l’algorithme d’ordonnancement
→ minimiser ou maximiser un critère

ET3Sys Systèmes d’Exploitation Thomas Lavergne 9/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères I

Objectif
Choisir l’algorithme d’ordonnancement
→ minimiser ou maximiser un critère

Taux d’utilisation
Proportion de temps pendant lequel la ressource (en l’occurrence,
le CPU) est utilisée

ET3Sys Systèmes d’Exploitation Thomas Lavergne 9/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères I

Objectif
Choisir l’algorithme d’ordonnancement
→ minimiser ou maximiser un critère

Taux d’utilisation
Proportion de temps pendant lequel la ressource (en l’occurrence,
le CPU) est utilisée
P1 0 1 P2, P3 2 3 4 5 6

CPU Proc.1 Proc.2 Proc.1 Proc.3

HD1 Proc.1 Proc.2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 9/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères I

Objectif
Choisir l’algorithme d’ordonnancement
→ minimiser ou maximiser un critère

Taux d’utilisation
Proportion de temps pendant lequel la ressource (en l’occurrence,
le CPU) est utilisée
P1 0 1 P2, P3 2 3 4 5 6

5
CPU Proc.1 Proc.2 Proc.1 Proc.3 taux = 6 = 83%
HD1 Proc.1 Proc.2

→ à maximiser

ET3Sys Systèmes d’Exploitation Thomas Lavergne 9/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères I

Objectif
Choisir l’algorithme d’ordonnancement
→ minimiser ou maximiser un critère

Taux d’utilisation
Proportion de temps pendant lequel la ressource est utilisée

Débit
Nombre moyen de processus traités par unité de temps

ET3Sys Systèmes d’Exploitation Thomas Lavergne 9/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères I

Objectif
Choisir l’algorithme d’ordonnancement
→ minimiser ou maximiser un critère

Taux d’utilisation
Proportion de temps pendant lequel la ressource est utilisée

Débit
Nombre moyen de processus traités par unité de temps
P1 0 1 P2, P3 2 3 4 5 6

CPU Proc.1 Proc.2 Proc.1 Proc.3

HD1 Proc.1 Proc.2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 9/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères I

Objectif
Choisir l’algorithme d’ordonnancement
→ minimiser ou maximiser un critère

Taux d’utilisation
Proportion de temps pendant lequel la ressource est utilisée

Débit
Nombre moyen de processus traités par unité de temps
P1 0 1 P2, P3 2 3 4 5 6

3
CPU Proc.1 Proc.2 Proc.1 Proc.3 d ébit = 6 = 0.5
HD1 Proc.1 Proc.2

→ à maximiser

ET3Sys Systèmes d’Exploitation Thomas Lavergne 9/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt
Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt
Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne
P1 0 1 P2, P3 2 3 4 5 6

CPU Proc.1 Proc.2 Proc.1 Proc.3

HD1 Proc.1 Proc.2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt
Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne
P1 0 1 P2, P3 2 3 4 5 6

1+0+3
CPU Proc.1 Proc.2 Proc.1 Proc.3 attente = 3 = 1.33
HD1 Proc.1 Proc.2

→ à minimiser

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt
Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne
Critère min-max :
→ choisir l’algorithme qui minimise l’attente max
(celle du processus qui a le plus attendu)

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt
Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne
Critère min-max :
→ choisir l’algorithme qui minimise l’attente max
P1 0 1 P2, P3 2 3 4 5 6

CPU Proc.1 Proc.2 Proc.1 Proc.3

HD1 Proc.1 Proc.2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt
Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne
Critère min-max :
→ choisir l’algorithme qui minimise l’attente max
P1 0 1 P2, P3 2 3 4 5 6

CPU Proc.1 Proc.2 Proc.1 Proc.3 max = 3


HD1 Proc.1 Proc.2

→ à minimiser

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt

Rotation
Durée d’un processus : date terminaison – date création

→ temps de réponse du processus (moyenne ou min-max)

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt

Rotation
Durée d’un processus : date terminaison – date création
Variante : durée moins le temps passé dans l’état en attente d’E/S
→ temps de réponse du processus (moyenne ou min-max)

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt

Rotation
Durée d’un processus : date terminaison – date création
Variante : durée moins le temps passé dans l’état en attente d’E/S
→ temps de réponse du processus (moyenne ou min-max)
P1 0 1 P2, P3 2 3 4 5 6

CPU Proc.1 Proc.2 Proc.1 Proc.3

HD1 Proc.1 Proc.2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères II

Temps d’attente
Temps total passé par tous les processus dans la file prêt

Rotation
Durée d’un processus : date terminaison – date création
Variante : durée moins le temps passé dans l’état en attente d’E/S
→ temps de réponse du processus (moyenne ou min-max)
P1 0 1 P2, P3 2 3 4 5 6

CPU Proc.1 Proc.2 Proc.1 Proc.3


3+2+4
moy = 3 = 2 ; max = 4
HD1 Proc.1 Proc.2

→ à minimiser

ET3Sys Systèmes d’Exploitation Thomas Lavergne 10/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Critères : résumé

Taux d’utilisation
Proportion de temps pendant lequel le CPU est utilisée

Débit
Nombre moyen de processus traités par unité de temps

Temps d’attente
Temps total passé dans la file prêt

Rotation
Durée des processus

ET3Sys Systèmes d’Exploitation Thomas Lavergne 11/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Priorité

Principe
Associer à chaque processus une valeur de priorité
Selon les OS, valeur entière, positive ou négative, croissante ou
décroissante. . .

ET3Sys Systèmes d’Exploitation Thomas Lavergne 12/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Priorité

Principe
Associer à chaque processus une valeur de priorité

Structure de données et algorithme


File d’attente par priorité
Liste ordonnée des files de priorité
→ choisir le premier processus de la file la plus prioritaire

ET3Sys Systèmes d’Exploitation Thomas Lavergne 12/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Priorité

Principe
Associer à chaque processus une valeur de priorité

Structure de données et algorithme


File d’attente par priorité

Calcul de la priorité
Type de processus (système ou utilisateur, E/S ou calcul)
Durée (estimée) du processus, taille mémoire, nombre de
fichiers ouverts. . .
Priorité fixée par l’utilisateur
Variable au cours de l’exécution (règles de l’OS)

ET3Sys Systèmes d’Exploitation Thomas Lavergne 12/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Préemption

Définition
Un algorithme d’ordonnancement est dit préemptif s’il peut
remplacer le processus actuellement en exécution par un processus
entrant dans la file d’attente des processus prêts.

ET3Sys Systèmes d’Exploitation Thomas Lavergne 13/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Préemption

Définition
Un algorithme d’ordonnancement est dit préemptif s’il peut
remplacer le processus actuellement en exécution par un processus
entrant dans la file d’attente des processus prêts.
. . . selon la priorité des processus

ET3Sys Systèmes d’Exploitation Thomas Lavergne 13/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Préemption

Définition
Un algorithme d’ordonnancement est dit préemptif s’il peut
remplacer le processus actuellement en exécution par un processus
entrant dans la file d’attente des processus prêts.
. . . selon la priorité des processus

Temporalité
Ordonnancement lorsque :
Le processus en exécution passe en attente ou se termine
→ pas de problème de préemption
Un processus entre dans l’état prêt
→ préempter ?

ET3Sys Systèmes d’Exploitation Thomas Lavergne 13/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Problème Diagramme de Gantt Qualité de l’ordonnancement Notion de priorité

Préemption

Définition
Un algorithme d’ordonnancement est dit préemptif s’il peut
remplacer le processus actuellement en exécution par un processus
entrant dans la file d’attente des processus prêts.
. . . selon la priorité des processus

Temporalité
Ordonnancement lorsque :
Le processus en exécution passe en attente ou se termine
→ pas de problème de préemption
Un processus entre dans l’état prêt
→ préempter ?
Il existe différents algorithmes, préemptifs ou non

ET3Sys Systèmes d’Exploitation Thomas Lavergne 13/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Principe
Premier arrivé, premier servi : file d’attente

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 14/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Principe
Premier arrivé, premier servi : file d’attente

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 14/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Principe
Premier arrivé, premier servi : file d’attente

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 14/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Principe
Premier arrivé, premier servi : file d’attente

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1 P2
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 14/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Principe
Premier arrivé, premier servi : file d’attente

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1 P2 P3
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 14/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out

Principe
Premier arrivé, premier servi : file d’attente

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1 P2 P3
P3 1 2

Temps d’attente
0+9+11
Moyenne = 3 ' 6.67
Max = 11

ET3Sys Systèmes d’Exploitation Thomas Lavergne 14/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out


Rappel critères : équitable, efficace, réactif

ET3Sys Systèmes d’Exploitation Thomas Lavergne 15/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out


Rappel critères : équitable, efficace, réactif

Avantages

ET3Sys Systèmes d’Exploitation Thomas Lavergne 15/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out


Rappel critères : équitable, efficace, réactif

Avantages
Simple à implémenter
Équitable : tous les processus on accès à la ressource (dans
l’ordre d’arrivée)

ET3Sys Systèmes d’Exploitation Thomas Lavergne 15/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

First In, First Out


Rappel critères : équitable, efficace, réactif

Avantages
Simple à implémenter
Équitable : tous les processus on accès à la ressource (dans
l’ordre d’arrivée)

Inconvénients
Peu efficace : processus de calcul ont ”plus longtemps” le
processeur
Peu réactif : certains processus peuvent attendre très
longtemps

ET3Sys Systèmes d’Exploitation Thomas Lavergne 15/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Principe
Algorithme préemptif ; priorité = temps restant (estimé)
But : favoriser les processus courts (E/S) → réactif !

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 16/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Principe
Algorithme préemptif ; priorité = temps restant (estimé)
But : favoriser les processus courts (E/S) → réactif !

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 16/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Principe
Algorithme préemptif ; priorité = temps restant (estimé)
But : favoriser les processus courts (E/S) → réactif !

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1 P2
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 16/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Principe
Algorithme préemptif ; priorité = temps restant (estimé)
But : favoriser les processus courts (E/S) → réactif !

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1 P2 P3
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 16/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Principe
Algorithme préemptif ; priorité = temps restant (estimé)
But : favoriser les processus courts (E/S) → réactif !

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1 P2 P3 P1
P3 1 2

ET3Sys Systèmes d’Exploitation Thomas Lavergne 16/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Principe
Algorithme préemptif ; priorité = temps restant (estimé)
But : favoriser les processus courts (E/S) → réactif !

Exemple
P3
Proc. Date Durée
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 10
P2 1 2
P1 P2 P3 P1
P3 1 2

Temps d’attente
4+0+2
Moyenne = 3 =2
Max = 4

ET3Sys Systèmes d’Exploitation Thomas Lavergne 16/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Un autre exemple
P3 P5
Proc. Date Durée
P1 0 P2 1 2 P4 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 5
P2 1 2
P3 1 1
P4 3 1
File d’attente : P1
P5 3 1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 17/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Un autre exemple
P3 P5
Proc. Date Durée
P1 0 P2 1 2 P4 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 5
P1
P2 1 2
P3 1 1
P4 3 1
File d’attente : P2 P3
P5 3 1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 17/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Un autre exemple
P3 P5
Proc. Date Durée
P1 0 P2 1 2 P4 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 5
P1 P3
P2 1 2
P3 1 1
P4 3 1
File d’attente : P2 P1
P5 3 1

L’algorithme est préemptif : le processus plus court prend la main

ET3Sys Systèmes d’Exploitation Thomas Lavergne 17/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Un autre exemple
P3 P5
Proc. Date Durée
P1 0 P2 1 2 P4 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 5
P1 P3 P2
P2 1 2
P3 1 1
P4 3 1
File d’attente : P1 P4 P5
P5 3 1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 17/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Un autre exemple
P3 P5
Proc. Date Durée
P1 0 P2 1 2 P4 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 5
P1 P3 P2
P2 1 2
P3 1 1
P4 3 1
File d’attente : P1 P4 P5
P5 3 1

En cas d’égalité de temps restant, on garde en priorité le processus


actif
→ évite une commutation de contexte

ET3Sys Systèmes d’Exploitation Thomas Lavergne 17/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Un autre exemple
P3 P5
Proc. Date Durée
P1 0 P2 1 2 P4 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 5
P1 P3 P2 P4
P2 1 2
P3 1 1
P4 3 1
File d’attente : P1 P5
P5 3 1

En cas d’égalité de temps restant et de date, on prend l’ordre du


tableau
Ça reste une file. . .

ET3Sys Systèmes d’Exploitation Thomas Lavergne 17/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Un autre exemple
P3 P5
Proc. Date Durée
P1 0 P2 1 2 P4 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 5
P1 P3 P2 P4 P5
P2 1 2
P3 1 1
P4 3 1
File d’attente : P1
P5 3 1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 17/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Un autre exemple
P3 P5
Proc. Date Durée
P1 0 P2 1 2 P4 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 5
P1 P3 P2 P4 P5 P1
P2 1 2
P3 1 1
P4 3 1
File d’attente :
P5 3 1

ET3Sys Systèmes d’Exploitation Thomas Lavergne 17/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord

Un autre exemple
P3 P5
Proc. Date Durée
P1 0 P2 1 2 P4 3 4 5 6 7 8 9 10 11 12 13 14 P1 0 5
P1 P3 P2 P4 P5 P1
P2 1 2
P3 1 1
P4 3 1
File d’attente :
P5 3 1

Temps d’attente
5+1+0+1+2
Moyenne = 5 = 1.8
Max = 5

ET3Sys Systèmes d’Exploitation Thomas Lavergne 17/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Temps restant

Problème
Comment connaı̂t-on le temps restant d’un processus ?
(avant requête ou interruption)

ET3Sys Systèmes d’Exploitation Thomas Lavergne 18/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Temps restant

Problème
Comment connaı̂t-on le temps restant d’un processus ?
(avant requête ou interruption)

Estimation
À partir des durées et des estimations des cycles précédents :
moyenne exponentielle
Soit :
dn la durée estimée lors de la ni ème utilisation de l’UC
tn la durée réelle lors de la ni ème utilisation de l’UC
α un facteur de pondération (généralement, α = 12 )

ET3Sys Systèmes d’Exploitation Thomas Lavergne 18/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Temps restant

Problème
Comment connaı̂t-on le temps restant d’un processus ?
(avant requête ou interruption)

Estimation
À partir des durées et des estimations des cycles précédents :
moyenne exponentielle
Soit :
dn la durée estimée lors de la ni ème utilisation de l’UC
tn la durée réelle lors de la ni ème utilisation de l’UC
α un facteur de pondération (généralement, α = 12 )
dn+1 = αdn + (1 − α)tn

ET3Sys Systèmes d’Exploitation Thomas Lavergne 18/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord


Rappel critères : équitable, efficace, réactif

Avantages

ET3Sys Systèmes d’Exploitation Thomas Lavergne 19/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord


Rappel critères : équitable, efficace, réactif

Avantages
Réactif : les petits processus passent en premier
Optimal sur le temps d’attente moyen (preuve par récurrence)

ET3Sys Systèmes d’Exploitation Thomas Lavergne 19/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord


Rappel critères : équitable, efficace, réactif

Avantages
Réactif : les petits processus passent en premier
Optimal sur le temps d’attente moyen (preuve par récurrence)

Inconvénients
Pas forcément efficace : processus de calcul ont ”moins” le
processeur s’il y a beaucoup d’E/S
Non équitable : on peut avoir des famines des gros processus

ET3Sys Systèmes d’Exploitation Thomas Lavergne 19/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Plus court d’abord


Rappel critères : équitable, efficace, réactif

Avantages
Réactif : les petits processus passent en premier
Optimal sur le temps d’attente moyen (preuve par récurrence)

Inconvénients
Pas forcément efficace : processus de calcul ont ”moins” le
processeur s’il y a beaucoup d’E/S
Non équitable : on peut avoir des famines des gros processus

Définition
On parle de famine lorsqu’un processus n’a jamais accès à une
ressource alors qu’il est dans la file d’attente.
ET3Sys Systèmes d’Exploitation Thomas Lavergne 19/26
Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round-Robin (tourniquet)

Principe
Allouer des tranches de processeur égales à tout le monde
→ FIFO avec quantum de temps
But : attente partagée → équitable !

Exemple
P3
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Proc. Date Durée
P1 0 10
P2 1 2
P3 1 2
Quantum = 3

ET3Sys Systèmes d’Exploitation Thomas Lavergne 20/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round-Robin (tourniquet)

Principe
Allouer des tranches de processeur égales à tout le monde
→ FIFO avec quantum de temps
But : attente partagée → équitable !

Exemple
P3
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Proc. Date Durée
P1 0 10
P1
P2 1 2
P3 1 2
Quantum = 3

ET3Sys Systèmes d’Exploitation Thomas Lavergne 20/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round-Robin (tourniquet)

Principe
Allouer des tranches de processeur égales à tout le monde
→ FIFO avec quantum de temps
But : attente partagée → équitable !

Exemple
P3
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Proc. Date Durée
P1 0 10
P1 P2
P2 1 2
P3 1 2
Quantum = 3

ET3Sys Systèmes d’Exploitation Thomas Lavergne 20/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round-Robin (tourniquet)

Principe
Allouer des tranches de processeur égales à tout le monde
→ FIFO avec quantum de temps
But : attente partagée → équitable !

Exemple
P3
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Proc. Date Durée
P1 0 10
P1 P2 P3
P2 1 2
P3 1 2
Quantum = 3

ET3Sys Systèmes d’Exploitation Thomas Lavergne 20/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round-Robin (tourniquet)

Principe
Allouer des tranches de processeur égales à tout le monde
→ FIFO avec quantum de temps
But : attente partagée → équitable !

Exemple
P3
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Proc. Date Durée
P1 0 10
P1 P2 P3 P1
P2 1 2
P3 1 2
Quantum = 3

ET3Sys Systèmes d’Exploitation Thomas Lavergne 20/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round-Robin (tourniquet)

Principe
Allouer des tranches de processeur égales à tout le monde
→ FIFO avec quantum de temps
But : attente partagée → équitable !

Exemple
P3
P1 0 P2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Proc. Date Durée
P1 0 10
P1 P2 P3 P1
P2 1 2
P3 1 2
Quantum = 3

Temps d’attente
4+2+4
Moyenne = 3 ' 3, 33 ; Max = 4

ET3Sys Systèmes d’Exploitation Thomas Lavergne 20/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round Robin
Rappel critères : équitable, efficace, réactif

Avantages

ET3Sys Systèmes d’Exploitation Thomas Lavergne 21/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round Robin
Rappel critères : équitable, efficace, réactif

Avantages
Équitable : tout le monde a le processeur aussi rapidement
Relativement réactif : les petits processus n’attendent pas trop

ET3Sys Systèmes d’Exploitation Thomas Lavergne 21/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round Robin
Rappel critères : équitable, efficace, réactif

Avantages
Équitable : tout le monde a le processeur aussi rapidement
Relativement réactif : les petits processus n’attendent pas trop

Inconvénients
Temps d’attente moyen plus élevé

ET3Sys Systèmes d’Exploitation Thomas Lavergne 21/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round Robin
Rappel critères : équitable, efficace, réactif

Avantages
Équitable : tout le monde a le processeur aussi rapidement
Relativement réactif : les petits processus n’attendent pas trop

Inconvénients
Temps d’attente moyen plus élevé
Beaucoup de commutations → surcoût !
On commute même s’il ne reste qu’une unité de temps !

ET3Sys Systèmes d’Exploitation Thomas Lavergne 21/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Round Robin
Rappel critères : équitable, efficace, réactif

En pratique
Largement utilisé dans les OS, avec quantum ' 5 à 100
milli-secondes
Efficace dès que la durée réelle (tn ) de 80% des processus est
inférieure au quantum.

ET3Sys Systèmes d’Exploitation Thomas Lavergne 22/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Solaris
OS des machines Sun entre 1993 et 2000

Principe
Quantum de temps selon priorité (0 = priorité max)
Priorité modifiée à la fin du quantum ou après une E/S

Priorité Quantum Priorité Priorité re-


prochain tour E/S
cycle
0 200 0 50
5 200 0 50
10 160 0 51
Prioritaire → grand quantum
15 160 5 51
20 120 10 52 Quantum consommé →
25 120 15 52 priorité augmentée
30 80 20 53
35 80 25 54 E/S → priorité diminuée
40 40 30 55
45 40 35 56
50 40 40 57
55 40 45 58
60 20 49 59

ET3Sys Systèmes d’Exploitation Thomas Lavergne 23/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Solaris
OS des machines Sun entre 1993 et 2000

Principe
Quantum de temps selon priorité (0 = priorité max)
Priorité modifiée à la fin du quantum ou après une E/S

Propriétés
Une bonne idée sur le principe. . .
. . . mais processus d’E/S lourdement pénalisés → IHM non
réactive
→ mort de Solaris avec la montée des IHM

ET3Sys Systèmes d’Exploitation Thomas Lavergne 23/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Windows XP et après

Principe : Multi-level feedback queue


Priorité + Round Robin

ET3Sys Systèmes d’Exploitation Thomas Lavergne 24/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Windows XP et après

Principe : Multi-level feedback queue


Priorité + Round Robin

Priorité
Gérée au niveau des threads uniquement
32 niveaux de priorité
Ordonnancement préemptif par niveau de priorité

ET3Sys Systèmes d’Exploitation Thomas Lavergne 24/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Windows XP et après

Principe : Multi-level feedback queue


Priorité + Round Robin

Priorité
32 niveaux de priorité

Round Robin
Au sein d’une même valeur de priorité

ET3Sys Systèmes d’Exploitation Thomas Lavergne 24/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Windows XP et après

Principe : Multi-level feedback queue


Priorité + Round Robin

Priorité
32 niveaux de priorité

Round Robin
Au sein d’une même valeur de priorité

Priorité dynamique
Baissée à la fin du quantum
Remontée après chaque E/S
→ interface graphique plus réactive !

ET3Sys Systèmes d’Exploitation Thomas Lavergne 24/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Linux, MacOS X

Principe
2 algorithmes :
Tâches temps réel : préemptif selon priorité, FIFO ou RR par
priorité
Autres tâches : temps partagé équitable

ET3Sys Systèmes d’Exploitation Thomas Lavergne 25/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Linux, MacOS X

Principe
2 algorithmes :
Tâches temps réel : préemptif selon priorité, FIFO ou RR par
priorité
Autres tâches : temps partagé équitable

Système de crédits
Chaque processus dispose d’un crédit = sa priorité

ET3Sys Systèmes d’Exploitation Thomas Lavergne 25/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Linux, MacOS X

Principe
2 algorithmes :
Tâches temps réel : préemptif selon priorité, FIFO ou RR par
priorité
Autres tâches : temps partagé équitable

Système de crédits
Chaque processus dispose d’un crédit = sa priorité
Le processus le plus riche l’emporte (préemptif)
Perte de 1 crédit à la fin du quantum

ET3Sys Systèmes d’Exploitation Thomas Lavergne 25/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Linux, MacOS X

Principe
2 algorithmes :
Tâches temps réel : préemptif selon priorité, FIFO ou RR par
priorité
Autres tâches : temps partagé équitable

Système de crédits
Chaque processus dispose d’un crédit = sa priorité
Le processus le plus riche l’emporte (préemptif)
Perte de 1 crédit à la fin du quantum
Si aucun processus prêt n’a de crédit, tous les processus sont
re-crédités : cr édit 0 = cr édit/2 + cr éditinitial

ET3Sys Systèmes d’Exploitation Thomas Lavergne 25/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Linux, MacOS X

Principe
2 algorithmes :
Tâches temps réel : préemptif selon priorité, FIFO ou RR par
priorité
Autres tâches : temps partagé équitable
Combine historique et priorité
Favorise les E/S (donc l’IHM)

ET3Sys Systèmes d’Exploitation Thomas Lavergne 25/26


Problème d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion

Synthèse

Ordonnancement = choix d’un processus à exécuter parmi


prêts + en exécution
Exécution : diagramme de Gantt
Algorithmes d’ordonnancement :
FIFO
Plus court d’abord
Round-Robin
Critères, dont temps d’attente

ET3Sys Systèmes d’Exploitation Thomas Lavergne 26/26

Vous aimerez peut-être aussi