M1105Système d’exploitationOrdonnancement
Éric WürbelIUT R & T 1reannée
M1105 Système d’exploitation
> Plan
Plan
1 Problème d’ordonnancement
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
2
M1105 Système d’exploitation
> Problème d’ordonnancement
Plan
1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
3
M1105 Système d’exploitation
> Problème d’ordonnancement
Plan
1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
4
M1105 Système d’exploitation
> Problème d’ordonnancement
Contexte
MultiprogrammationPlusieurs processus en mémoire.
I Plusieurs processus peuvent vouloir accéder à une même ressourcesimultanément.
I Nécessité de gérer une file d’attente.
OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.
Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution
5
M1105 Système d’exploitation
> Problème d’ordonnancement
Contexte
MultiprogrammationPlusieurs processus en mémoire.I Plusieurs processus peuvent vouloir accéder à une même ressource
simultanément.
I Nécessité de gérer une file d’attente.
OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.
Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution
5
M1105 Système d’exploitation
> Problème d’ordonnancement
Contexte
MultiprogrammationPlusieurs processus en mémoire.I Plusieurs processus peuvent vouloir accéder à une même ressource
simultanément.I Nécessité de gérer une file d’attente.
OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.
Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution
5
M1105 Système d’exploitation
> Problème d’ordonnancement
Contexte
MultiprogrammationPlusieurs processus en mémoire.I Plusieurs processus peuvent vouloir accéder à une même ressource
simultanément.I Nécessité de gérer une file d’attente.
OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.
Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution
5
M1105 Système d’exploitation
> Problème d’ordonnancement
Contexte
MultiprogrammationPlusieurs processus en mémoire.I Plusieurs processus peuvent vouloir accéder à une même ressource
simultanément.I Nécessité de gérer une file d’attente.
OrdonancementChoisir un processus dans la file d’attente.Nécessite d’ordonner les processus pour l’accès à la ressource.
Exemple (Ressource : Processeur)Choisir parmi les processus prêts + en execution
5
M1105 Système d’exploitation
> Problème d’ordonnancement
État d’un processus
Prêt
Exécution
En Attente
requête E/S
fin d’E/S(interruption)
interruption
ordonnanceur
6
M1105 Système d’exploitation
> Problème d’ordonnancement
Ordonnancement
ATTENTION !On ne s’intéresse pas à la durée totale d’un processus mais au tempspendant lequel il va garder le processeur :
I jusqu’à ce qu’il se termineI jusqu’à qu’il fasse une E/SI jusqu’à ce que l’OS décide que ce n’est plus son tour
7
M1105 Système d’exploitation
> Problème d’ordonnancement
Ordonnancement
ATTENTION !On ne s’intéresse pas à la durée totale d’un processus mais au tempspendant lequel il va garder le processeur :I jusqu’à ce qu’il se termine
I jusqu’à qu’il fasse une E/SI jusqu’à ce que l’OS décide que ce n’est plus son tour
7
M1105 Système d’exploitation
> Problème d’ordonnancement
Ordonnancement
ATTENTION !On ne s’intéresse pas à la durée totale d’un processus mais au tempspendant lequel il va garder le processeur :I jusqu’à ce qu’il se termineI jusqu’à qu’il fasse une E/S
I jusqu’à ce que l’OS décide que ce n’est plus son tour
7
M1105 Système d’exploitation
> Problème d’ordonnancement
Ordonnancement
ATTENTION !On ne s’intéresse pas à la durée totale d’un processus mais au tempspendant lequel il va garder le processeur :I jusqu’à ce qu’il se termineI jusqu’à qu’il fasse une E/SI jusqu’à ce que l’OS décide que ce n’est plus son tour
7
M1105 Système d’exploitation
> Problème d’ordonnancement
Contraintes
I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.
I La commutation de contexte a un coût :
I Exécution de la procédure d’ordonnancementI Sauvegarde du contexte (registres)I Chargement du nouveau contexte
8
M1105 Système d’exploitation
> Problème d’ordonnancement
Contraintes
I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.
I La commutation de contexte a un coût :
I Exécution de la procédure d’ordonnancementI Sauvegarde du contexte (registres)I Chargement du nouveau contexte
8
M1105 Système d’exploitation
> Problème d’ordonnancement
Contraintes
I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.
I La commutation de contexte a un coût :I Exécution de la procédure d’ordonnancement
I Sauvegarde du contexte (registres)I Chargement du nouveau contexte
8
M1105 Système d’exploitation
> Problème d’ordonnancement
Contraintes
I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.
I La commutation de contexte a un coût :I Exécution de la procédure d’ordonnancementI Sauvegarde du contexte (registres)
I Chargement du nouveau contexte
8
M1105 Système d’exploitation
> Problème d’ordonnancement
Contraintes
I Permettre au « petits » processus (ex : beaucoup d’E/S) d’accéderau processeur plus vite.
I La commutation de contexte a un coût :I Exécution de la procédure d’ordonnancementI Sauvegarde du contexte (registres)I Chargement du nouveau contexte
8
M1105 Système d’exploitation
> Problème d’ordonnancement
Quand ?
Ordonnancer quand :I le processus en exécution se termine
I un nouveau processus passe en état prêtI un processus en attente passe en état prêtI Le processus en exécution a épuisé son temps
9
M1105 Système d’exploitation
> Problème d’ordonnancement
Quand ?
Ordonnancer quand :I le processus en exécution se termineI un nouveau processus passe en état prêt
I un processus en attente passe en état prêtI Le processus en exécution a épuisé son temps
9
M1105 Système d’exploitation
> Problème d’ordonnancement
Quand ?
Ordonnancer quand :I le processus en exécution se termineI un nouveau processus passe en état prêtI un processus en attente passe en état prêt
I Le processus en exécution a épuisé son temps
9
M1105 Système d’exploitation
> Problème d’ordonnancement
Quand ?
Ordonnancer quand :I le processus en exécution se termineI un nouveau processus passe en état prêtI un processus en attente passe en état prêtI Le processus en exécution a épuisé son temps
9
M1105 Système d’exploitation
> Problème d’ordonnancement
Plan
1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
10
M1105 Système d’exploitation
> Problème d’ordonnancement
Diagramme de Gantt
DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.
11
M1105 Système d’exploitation
> Problème d’ordonnancement
Diagramme de Gantt
DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.
CPU
HD1
11
M1105 Système d’exploitation
> Problème d’ordonnancement
Diagramme de Gantt
DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.
CPU
HD1
0 1 2 3 4 5 6
11
M1105 Système d’exploitation
> Problème d’ordonnancement
Diagramme de Gantt
DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.
CPU
HD1
0 1 2 3 4 5 6
Proc.1
11
M1105 Système d’exploitation
> Problème d’ordonnancement
Diagramme de Gantt
DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
11
M1105 Système d’exploitation
> Problème d’ordonnancement
Diagramme de Gantt
DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2
11
M1105 Système d’exploitation
> Problème d’ordonnancement
Diagramme de Gantt
DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
11
M1105 Système d’exploitation
> Problème d’ordonnancement
Diagramme de Gantt
DéfinitionReprésentation graphique de l’exécution de plusieurs processus affecté àplusieurs ressources au cours du temps.
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
11
M1105 Système d’exploitation
> Problème d’ordonnancement
Plan
1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
12
M1105 Système d’exploitation
> Problème d’ordonnancement
Objectifs de l’ordonnancement
ÉquitableTous les processus ont accès aux ressources dont ils ont besoin, enfonction de leur priorité.
EfficaceBonne répartition entre les processus E/S et calcul
RéactifLimiter le temps d’attente des processus
13
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères I
ObjectifChoisir l’algorithme d’ordonnancement : minimiser ou maximiser uncritère
Taux d’utilisationProportion de temps pendant lequel la ressource est utilisée.
DébitNombre moyen de processus traités par unité de temps
14
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères I
ObjectifChoisir l’algorithme d’ordonnancement : minimiser ou maximiser uncritère
Taux d’utilisationProportion de temps pendant lequel la ressource (en l’occurrence leCPU) est utilisée.
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
taux = 56 = 83%
à maximiser
DébitNombre moyen de processus traités par unité de temps
14
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères I
ObjectifChoisir l’algorithme d’ordonnancement : minimiser ou maximiser uncritère
Taux d’utilisationProportion de temps pendant lequel la ressource (en l’occurrence leCPU) est utilisée.
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
taux = 56 = 83%
à maximiser
DébitNombre moyen de processus traités par unité de temps
14
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères I
ObjectifChoisir l’algorithme d’ordonnancement : minimiser ou maximiser uncritère
Taux d’utilisationProportion de temps pendant lequel la ressource est utilisée.
DébitNombre moyen de processus traités par unité de temps
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
débit = 36 = 0.5
à maximiser
14
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.
RotationDurée d’un processus : date terminaison - date création
Variante : durée - temps passé en attente d’E/S
(temps de réponse du processus : moyenne ou min-max)
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)
I Critère min-max : Algorithme qui minimise l’attente max
RotationDurée d’un processus : date terminaison - date création
Variante : durée - temps passé en attente d’E/S
(temps de réponse du processus : moyenne ou min-max)
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
attente = 1+0+33 = 1.33
à minimiser
I Critère min-max : Algorithme qui minimise l’attente max
RotationDurée d’un processus : date terminaison - date création
Variante : durée - temps passé en attente d’E/S
(temps de réponse du processus : moyenne ou min-max)
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
attente = 1+0+33 = 1.33
à minimiser
I Critère min-max : Algorithme qui minimise l’attente max
RotationDurée d’un processus : date terminaison - date création
Variante : durée - temps passé en attente d’E/S
(temps de réponse du processus : moyenne ou min-max)
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)I Critère min-max : Algorithme qui minimise l’attente max (celle du
processus qui a le plus attendu)
RotationDurée d’un processus : date terminaison - date création
Variante : durée - temps passé en attente d’E/S
(temps de réponse du processus : moyenne ou min-max)
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)I Critère min-max : Algorithme qui minimise l’attente max
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
max = 3à minimiser
RotationDurée d’un processus : date terminaison - date création
Variante : durée - temps passé en attente d’E/S
(temps de réponse du processus : moyenne ou min-max)
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.I Attente moyenne : Temps d’attente / nb de processus (à minimiser)I Critère min-max : Algorithme qui minimise l’attente max
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
max = 3à minimiser
RotationDurée d’un processus : date terminaison - date création
Variante : durée - temps passé en attente d’E/S
(temps de réponse du processus : moyenne ou min-max)
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.
RotationDurée d’un processus : date terminaison - date création
Variante : durée - temps passé en attente d’E/S
(temps de réponse du processus : moyenne ou min-max)
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.
RotationDurée d’un processus : date terminaison - date créationVariante : durée - temps passé en attente d’E/S(temps de réponse du processus : moyenne ou min-max)
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.
RotationDurée d’un processus : date terminaison - date créationVariante : durée - temps passé en attente d’E/S(temps de réponse du processus : moyenne ou min-max)
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
moyenne = 3+2+43 = 2; max = 4
à minimiser
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Critères II
Temps d’attenteTemps total passé par tous les processus dans la file prêt.
RotationDurée d’un processus : date terminaison - date créationVariante : durée - temps passé en attente d’E/S(temps de réponse du processus : moyenne ou min-max)
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1 Proc.3
Proc.2
Arrivées P1 P2 P3
moyenne = 3+2+43 = 2; max = 4
à minimiser
15
M1105 Système d’exploitation
> Problème d’ordonnancement
Plan
1 Problème d’ordonnancementProblèmeDiagramme de GanttQualité de l’ordonnancementNotion de priorité
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
16
M1105 Système d’exploitation
> Problème d’ordonnancement
PrioritéPrincipeAssocier à chaque processus une valeur de priorité.Selon les OS : valeur entière, positive ou négative, croissante oudécroissante. . .
Structure de donnée & algorithme
I Une file d’attente par niveau de priorité
Calcul de la priorité
I Type de processus (système ou utilisateur, E/S ou calcul)I Durée (estimée) du processus, taille mémoire, nombre de fichiers
ouverts. . .I Priorité fixée par l’utilisateurI Variable au cours de l’exécution (règles du SE).
17
M1105 Système d’exploitation
> Problème d’ordonnancement
PrioritéPrincipeAssocier à chaque processus une valeur de priorité.
Structure de donnée & algorithme
I Une file d’attente par niveau de prioritéI Liste ordonnée des files de priorité
Choisir le premier processus de la file la plus prioritaire.
Calcul de la priorité
I Type de processus (système ou utilisateur, E/S ou calcul)I Durée (estimée) du processus, taille mémoire, nombre de fichiers
ouverts. . .I Priorité fixée par l’utilisateurI Variable au cours de l’exécution (règles du SE).
17
M1105 Système d’exploitation
> Problème d’ordonnancement
Priorité
PrincipeAssocier à chaque processus une valeur de priorité.
Structure de donnée & algorithme
I Une file d’attente par niveau de priorité
Calcul de la priorité
I Type de processus (système ou utilisateur, E/S ou calcul)I Durée (estimée) du processus, taille mémoire, nombre de fichiers
ouverts. . .I Priorité fixée par l’utilisateurI Variable au cours de l’exécution (règles du SE).
17
M1105 Système d’exploitation
> Problème d’ordonnancement
Préemption
DéfinitionUn algorithme d’ordonnancement est dit préemptif s’il peut remplacer leprocessus actuellement en exécution par un processus entrant dans la filed’attente des processus prêts.
Selon la priorité des processus
TemporalitéOrdonnancement lorsque :I Le processus en exécution passe en attente ou se termine
pas de problème de préemption
I Un processus entre en état prêtPréempter ?
Il existe différents algorithmes, préemptifs ou non
18
M1105 Système d’exploitation
> Problème d’ordonnancement
Préemption
DéfinitionUn algorithme d’ordonnancement est dit préemptif s’il peut remplacer leprocessus actuellement en exécution par un processus entrant dans la filed’attente des processus prêts.Selon la priorité des processus
TemporalitéOrdonnancement lorsque :I Le processus en exécution passe en attente ou se termine
pas de problème de préemption
I Un processus entre en état prêtPréempter ?
Il existe différents algorithmes, préemptifs ou non
18
M1105 Système d’exploitation
> Problème d’ordonnancement
Préemption
DéfinitionUn algorithme d’ordonnancement est dit préemptif s’il peut remplacer leprocessus actuellement en exécution par un processus entrant dans la filed’attente des processus prêts.Selon la priorité des processus
TemporalitéOrdonnancement lorsque :I Le processus en exécution passe en attente ou se termine
pas de problème de préemption
I Un processus entre en état prêtPréempter ?
Il existe différents algorithmes, préemptifs ou non
18
M1105 Système d’exploitation
> Problème d’ordonnancement
Préemption
DéfinitionUn algorithme d’ordonnancement est dit préemptif s’il peut remplacer leprocessus actuellement en exécution par un processus entrant dans la filed’attente des processus prêts.Selon la priorité des processus
TemporalitéOrdonnancement lorsque :I Le processus en exécution passe en attente ou se termine
pas de problème de préemption
I Un processus entre en état prêtPréempter ?
Il existe différents algorithmes, préemptifs ou non
18
M1105 Système d’exploitation
> Algorithme FIFO
Plan
1 Problème d’ordonnancement
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
19
M1105 Système d’exploitation
> Algorithme FIFO
First In, First Out
PrincipePremier arrivé, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 0+9+113 ≈ 6.67
I Max = 11
20
M1105 Système d’exploitation
> Algorithme FIFO
First In, First Out
PrincipePremier arrivé, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 0+9+113 ≈ 6.67
I Max = 11
20
M1105 Système d’exploitation
> Algorithme FIFO
First In, First Out
PrincipePremier arrivé, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 0+9+113 ≈ 6.67
I Max = 11
20
M1105 Système d’exploitation
> Algorithme FIFO
First In, First Out
PrincipePremier arrivé, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1 P2
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 0+9+113 ≈ 6.67
I Max = 11
20
M1105 Système d’exploitation
> Algorithme FIFO
First In, First Out
PrincipePremier arrivé, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1 P2 P3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 0+9+113 ≈ 6.67
I Max = 11
20
M1105 Système d’exploitation
> Algorithme FIFO
First In, First Out
PrincipePremier arrivé, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1 P2 P3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 0+9+113 ≈ 6.67
I Max = 11
20
M1105 Système d’exploitation
> Algorithme FIFO
First In, First Out
Rappel des critères : équitable, efficace, réactif
Avantages
I Simple à implanterI Équitable : tous les processus ont accès à la ressource (dans l’ordre
d’arrivée).
Inconvénients
I Peu efficace : les processus de calculs monopolisent le processeurI Peu réactif : certains processus peuvent attendre très longtemps
21
M1105 Système d’exploitation
> Algorithme FIFO
First In, First Out
Rappel des critères : équitable, efficace, réactif
Avantages
I Simple à implanterI Équitable : tous les processus ont accès à la ressource (dans l’ordre
d’arrivée).
Inconvénients
I Peu efficace : les processus de calculs monopolisent le processeurI Peu réactif : certains processus peuvent attendre très longtemps
21
M1105 Système d’exploitation
> Algorithme FIFO
First In, First Out
Rappel des critères : équitable, efficace, réactif
Avantages
I Simple à implanterI Équitable : tous les processus ont accès à la ressource (dans l’ordre
d’arrivée).
Inconvénients
I Peu efficace : les processus de calculs monopolisent le processeurI Peu réactif : certains processus peuvent attendre très longtemps
21
M1105 Système d’exploitation
> Plus court d’abord
Plan
1 Problème d’ordonnancement
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
22
M1105 Système d’exploitation
> Plus court d’abord
Plus court d’abord
PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+0+23 = 2
I Max = 4
23
M1105 Système d’exploitation
> Plus court d’abord
Plus court d’abord
PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+0+23 = 2
I Max = 4
23
M1105 Système d’exploitation
> Plus court d’abord
Plus court d’abord
PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1 P2
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+0+23 = 2
I Max = 4
23
M1105 Système d’exploitation
> Plus court d’abord
Plus court d’abord
PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1 P2 P3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+0+23 = 2
I Max = 4
23
M1105 Système d’exploitation
> Plus court d’abord
Plus court d’abord
PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1 P2 P3 P1
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+0+23 = 2
I Max = 4
23
M1105 Système d’exploitation
> Plus court d’abord
Plus court d’abord
PrincipeAlgorithme préemptif ; priorité = temps restant (estimé)But : favoriser les processus courts (E/S) → réactif !
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2P3
P1 P2 P3 P1
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+0+23 = 2
I Max = 4
23
M1105 Système d’exploitation
> Plus court d’abord
Temps restant
ProblèmeComment connaît-on le temps restant d’un processus ?(avant requête d’E/S ou interruption)
EstimationÀ partir des durées et des estimations des cycles précédents : moyenneexponentielleSoit :I dn durée estimée lors de la neutilisation du CPUI tn durée réelle lors de la neutilisation du CPUI α un facteur de pondération (généralement α = 1
2).dn+1 = αdn + (1− α)tn
24
M1105 Système d’exploitation
> Plus court d’abord
Temps restant
ProblèmeComment connaît-on le temps restant d’un processus ?(avant requête d’E/S ou interruption)
EstimationÀ partir des durées et des estimations des cycles précédents : moyenneexponentielleSoit :I dn durée estimée lors de la neutilisation du CPUI tn durée réelle lors de la neutilisation du CPUI α un facteur de pondération (généralement α = 1
2).dn+1 = αdn + (1− α)tn
24
M1105 Système d’exploitation
> Plus court d’abord
Plus court d’abord
Rappel des critères : équitable, efficace, réactif
Avantages
I Réactif : les petit processus passent en premierI Optimal sur le temps d’attente moyen
Inconvénients
I Pas forcément efficace : les processus de calcul ont « moins » leprocesseur s’il y a beaucoup de processus d’E/S.
I Non équitable : on peut avoir des famines des gros processus.
25
M1105 Système d’exploitation
> Plus court d’abord
Plus court d’abord
Rappel des critères : équitable, efficace, réactif
Avantages
I Réactif : les petit processus passent en premierI Optimal sur le temps d’attente moyen
Inconvénients
I Pas forcément efficace : les processus de calcul ont « moins » leprocesseur s’il y a beaucoup de processus d’E/S.
I Non équitable : on peut avoir des famines des gros processus.
25
M1105 Système d’exploitation
> Plus court d’abord
Plus court d’abord
Rappel des critères : équitable, efficace, réactif
Avantages
I Réactif : les petit processus passent en premierI Optimal sur le temps d’attente moyen
Inconvénients
I Pas forcément efficace : les processus de calcul ont « moins » leprocesseur s’il y a beaucoup de processus d’E/S.
I Non équitable : on peut avoir des famines des gros processus.
25
M1105 Système d’exploitation
> Tourniquet (round robin)
Plan
1 Problème d’ordonnancement
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
26
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin)
PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !
Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2
P3
Quantum = 3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+2+43 ≈ 3.33
I Max = 4
27
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin)
PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !
Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2
P3
P1
Quantum = 3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+2+43 ≈ 3.33
I Max = 4
27
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin)
PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !
Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2
P3
P1 P2
Quantum = 3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+2+43 ≈ 3.33
I Max = 4
27
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin)
PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !
Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2
P3
P1 P2 P3
Quantum = 3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+2+43 ≈ 3.33
I Max = 4
27
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin)
PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !
Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2
P3
P1 P2 P3 P1
Quantum = 3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+2+43 ≈ 3.33
I Max = 4
27
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin)
PrincipeAllouer des tranches de processeur égales à tout le monde.(FIFO avec quantum de temps)But : attente partagée → équitable !
Exemple0 1 2 3 4 5 6 7 8 9 10 11 12 13 14P1 P2
P3
P1 P2 P3 P1
Quantum = 3
Proc. Date DuréeP1 0 10P2 1 2P3 1 2
Temps d’attente
I Moyenne = 4+2+43 ≈ 3.33
I Max = 427
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin
Rappel des critères : équitable, efficace, réactif
Avantages
I Équitable : tout le monde a le processeur aussi rapidementI Relativement réactif : les petits processus n’attendent pas trop
Inconvénients
I Temps d’attente moyen plus élevéI Beaucoup de commutations : surcoût !
28
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin
Rappel des critères : équitable, efficace, réactif
Avantages
I Équitable : tout le monde a le processeur aussi rapidementI Relativement réactif : les petits processus n’attendent pas trop
Inconvénients
I Temps d’attente moyen plus élevéI Beaucoup de commutations : surcoût !
28
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin
Rappel des critères : équitable, efficace, réactif
Avantages
I Équitable : tout le monde a le processeur aussi rapidementI Relativement réactif : les petits processus n’attendent pas trop
Inconvénients
I Temps d’attente moyen plus élevéI Beaucoup de commutations : surcoût !
28
M1105 Système d’exploitation
> Tourniquet (round robin)
Tourniquet (Round-Robin)
En pratique
I Largement utilisé dans les SE, avec quantum ≈ 2 à 10 fois le tempsde commutation de contexte
I Efficace dès que la durée réelle (tn) de 80% des processus estinférieure au quantum.
29
M1105 Système d’exploitation
> Exemples et exercices
Plan
1 Problème d’ordonnancement
2 Algorithme FIFO
3 Plus court d’abord
4 Tourniquet (round robin)
5 Exemples et exercices
30