Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Syst` emes d’Exploitation Cours 3/13 : Processus II
Nicolas Sabouret
Universit´e Paris-Sud Licence 3 - semestre S5
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plan
1 Probl`eme d’ordonnancement
2 Algorithme FIFO
3 Plus court d’abord
4 Round-Robin
5 Exemples concrets
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Plan
1 Probl`eme d’ordonnancement Probl`eme
Diagramme de Gantt
Qualit´e de l’ordonnancement Notion de priorit´e
2 Algorithme FIFO
3 Plus court d’abord
4 Round-Robin
5 Exemples concrets
Info32b Syst`emes d’Exploitation Nicolas Sabouret 3/32
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Rappel
Multiprogrammation et temps partag´e Les processus sont r´epartis sur les ressources.
Plusieurs processus peuvent vouloir la mˆeme ressourceen mˆeme temps
File d’attente dePCB
Ordonnancement
Choisir un processus parmi tous les processus dans une liste d’attente pour une ressource
→Ordonner les processus pour l’acc`es `a la ressource
Exemple : processeur
Choisir parmi les processus prˆet + en ex´ecution
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Rappel
Multiprogrammation et temps partag´e Les processus sont r´epartis sur les ressources.
Plusieurs processus peuvent vouloir la mˆeme ressourceen mˆeme temps
File d’attente dePCB
Ordonnancement
Choisir un processus parmi tous les processus dans une liste d’attente pour une ressource
→Ordonner les processus pour l’acc`es `a la ressource
Exemple : processeur
Choisir parmi les processus prˆet + en ex´ecution
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Rappel
Multiprogrammation et temps partag´e Les processus sont r´epartis sur les ressources.
Plusieurs processus peuvent vouloir la mˆeme ressourceen mˆeme temps
File d’attente dePCB
Ordonnancement
Choisir un processus parmi tous les processus dans une liste d’attente pour une ressource
→Ordonner les processus pour l’acc`es `a la ressource
Exemple : processeur
Choisir parmi les processus prˆet + en ex´ecution
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Contraintes I Temps r´eel
Permettre aux ”petits” processus (ex : E/S) d’acc´eder au processeur plus vite
dur´ee avant requˆete
nbdeproc.
70%
Les E/S causent beaucoup d’interruptions
→cycles UC tr`es courts (2µs)
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Ordonnancement
Attention
On ne s’int´eresse pas `a la dur´ee totale du processus. . .
Mais au temps pendant lequel il va garder le processeur : Jusqu’`a ce qu’il termine
Jusqu’`a ce qu’il fasse une E/S
Jusqu’`a ce que l’OS d´ecide que ce n’est plus son tour !
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Ordonnancement
Attention
On ne s’int´eresse pas `a la dur´ee totale du processus. . . Mais au temps pendant lequel il va garder le processeur :
Jusqu’`a ce qu’il termine Jusqu’`a ce qu’il fasse une E/S
Jusqu’`a ce que l’OS d´ecide que ce n’est plus son tour !
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Contraintes II
Commutation de contexte
Le remplacement du processus en ex´ecution a un coˆut ! Ex´ecution de la routine d’ordonnancement
Sauvegarde du contexte (registres + PC) Chargement d’un nouveau contexte
Ordonnancer lorsque
Le processus en ex´ecution se termine Un nouveau processus passe dans l’´etat prˆet Un processus en attente passe dans l’´etat prˆet
Le processus en ex´ecution a eu la main trop longtemps
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Contraintes II
Commutation de contexte
Le remplacement du processus en ex´ecution a un coˆut ! Ex´ecution de la routine d’ordonnancement
Sauvegarde du contexte (registres + PC) Chargement d’un nouveau contexte
Ordonnancer lorsque
Le processus en ex´ecution se termine Un nouveau processus passe dans l’´etat prˆet Un processus en attente passe dans l’´etat prˆet
Le processus en ex´ecution a eu la main trop longtemps
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Contraintes II
Commutation de contexte
Le remplacement du processus en ex´ecution a un coˆut ! Ex´ecution de la routine d’ordonnancement
Sauvegarde du contexte (registres + PC) Chargement d’un nouveau contexte
Ordonnancer lorsque
Le processus en ex´ecution se termine Un nouveau processus passe dans l’´etat prˆet Un processus en attente passe dans l’´etat prˆet
Le processus en ex´ecution a eu la main trop longtemps
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Diaramme de Gantt D´efinition
Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Diaramme de Gantt D´efinition
Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.
Ressources
CPU
HD1
0 1 2 3 4 5 6
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Diaramme de Gantt D´efinition
Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.
Ressources
CPU
HD1
0 1 2 3 4 5 6
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Diaramme de Gantt D´efinition
Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.
Ressources
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Diaramme de Gantt D´efinition
Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.
Ressources
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Diaramme de Gantt D´efinition
Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.
Ressources
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1 Proc.2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Diaramme de Gantt D´efinition
Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.
Ressources
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Diaramme de Gantt D´efinition
Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.
Ressources
CPU
HD1
0 1 2 3 4 5 6
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
Arriv´ees : P1 P2,P3
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Diaramme de Gantt D´efinition
Repr´esentation graphiquede l’ex´ecution de plusieurs processus affect´es `a plusieurs ressources au cours dutemps.
Applications
Ordonnancement: ressources = CPU ou p´eriph´erique G´enie logiciel :
ressources = tˆaches processus = d´eveloppement Gestion d’´equipe:
ressources = humains processus = tˆaches
ajout de lien de d´ependance
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Objectifs de l’ordonnancement
´Equitable
Tous les processus ont acc`es aux ressources dont ils ont besoin, en fonction de leur priorit´e
Efficace
Bonne r´epartition entre les processus E/S et calcul
R´eactif
Un processus ne doit pas attendre trop longtemps
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres I Objectif
Choisir l’algorithme d’ordonnancement
→minimiser ou maximiser un crit`ere
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres I Objectif
Choisir l’algorithme d’ordonnancement
→minimiser ou maximiser un crit`ere
Taux d’utilisation
Proportionde temps pendant lequel la ressource (en l’occurrence, le CPU) est utilis´ee
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
→ `a maximiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres I Objectif
Choisir l’algorithme d’ordonnancement
→minimiser ou maximiser un crit`ere
Taux d’utilisation
Proportionde temps pendant lequel la ressource (en l’occurrence, le CPU) est utilis´ee
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
→ `a maximiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres I Objectif
Choisir l’algorithme d’ordonnancement
→minimiser ou maximiser un crit`ere
Taux d’utilisation
Proportionde temps pendant lequel la ressource (en l’occurrence, le CPU) est utilis´ee
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2
Proc.3 taux= 56 = 83%
→ `a maximiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres I Objectif
Choisir l’algorithme d’ordonnancement
→minimiser ou maximiser un crit`ere
Taux d’utilisation
Proportionde temps pendant lequel la ressource est utilis´ee
D´ebit
Nombre moyende processus trait´es par unit´e de temps
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
→ `a maximiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres I Objectif
Choisir l’algorithme d’ordonnancement
→minimiser ou maximiser un crit`ere
Taux d’utilisation
Proportionde temps pendant lequel la ressource est utilis´ee
D´ebit
Nombre moyende processus trait´es par unit´e de temps
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
→ `a maximiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres I Objectif
Choisir l’algorithme d’ordonnancement
→minimiser ou maximiser un crit`ere
Taux d’utilisation
Proportionde temps pendant lequel la ressource est utilis´ee
D´ebit
Nombre moyende processus trait´es par unit´e de temps
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2
Proc.3 debit´ = 36 = 0.5
→ `a maximiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
→ `a minimiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2
Proc.3 attente= 1+0+33 = 1.33
→`a minimiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne Crit`ere min-max:
→ choisir l’algorithme qui minimise l’attente max (celle du processus qui a le plus attendu)
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne Crit`ere min-max:
→ choisir l’algorithme qui minimise l’attente max
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
→ `a minimiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet Attente moyenne : temps d’attente / nb de processus
→ choisir l’algorithme qui minimise l’attente moyenne Crit`ere min-max:
→ choisir l’algorithme qui minimise l’attente max
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2
Proc.3 max = 3
→`a minimiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet
Rotation
Dur´eed’un processus : date terminaison – date cr´eation
Variante : dur´ee moins le temps pass´e dans l’´etaten attente d’E/S
→temps de r´eponse du processus (moyenne ou min-max)
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
→ `a minimiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet
Rotation
Dur´eed’un processus : date terminaison – date cr´eation
Variante : dur´ee moins le temps pass´e dans l’´etaten attente d’E/S
→temps de r´eponse du processus (moyenne ou min-max)
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
→ `a minimiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet
Rotation
Dur´eed’un processus : date terminaison – date cr´eation
Variante : dur´ee moins le temps pass´e dans l’´etaten attente d’E/S
→temps de r´eponse du processus (moyenne ou min-max)
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
→ `a minimiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres II
Temps d’attente
Temps totalpass´e par tous les processusdans la fileprˆet
Rotation
Dur´eed’un processus : date terminaison – date cr´eation
Variante : dur´ee moins le temps pass´e dans l’´etaten attente d’E/S
→temps de r´eponse du processus (moyenne ou min-max)
CPU HD1
0 1 2 3 4 5 6
P1 P2,P3
Proc.1
Proc.1
Proc.2 Proc.1
Proc.2 Proc.3
moy = 3+2+43 = 2 ;max = 4
→ `a minimiser
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Crit`eres : r´esum´e
Taux d’utilisation
Proportionde temps pendant lequel le CPU est utilis´ee
D´ebit
Nombre moyende processus trait´es par unit´e de temps
Temps d’attente
Temps totalpass´e dans la file prˆet
Rotation
Dur´eedes processus
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Priorit´e Principe
Associer `a chaque processus une valeur de priorit´e
Selon les OS, valeur enti`ere, positive ou n´egative, croissante ou d´ecroissante. . .
Structure de donn´ees et algorithme File d’attente par priorit´e
Calcul de la priorit´e
Type de processus (syst`eme ou utilisateur, E/S ou calcul) Dur´ee (estim´ee) du processus, taille m´emoire, nombre de fichiers ouverts. . .
Priorit´e fix´ee par l’utilisateur
Variable au cours de l’ex´ecution (r`egles de l’OS)
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Priorit´e Principe
Associer `a chaque processus une valeur de priorit´e
Structure de donn´ees et algorithme File d’attente par priorit´e
Liste ordonn´ee des files de priorit´e
→choisir le premier processus de la file la plus prioritaire
Calcul de la priorit´e
Type de processus (syst`eme ou utilisateur, E/S ou calcul) Dur´ee (estim´ee) du processus, taille m´emoire, nombre de fichiers ouverts. . .
Priorit´e fix´ee par l’utilisateur
Variable au cours de l’ex´ecution (r`egles de l’OS)
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Priorit´e Principe
Associer `a chaque processus une valeur de priorit´e
Structure de donn´ees et algorithme File d’attente par priorit´e
Calcul de la priorit´e
Type de processus (syst`eme ou utilisateur, E/S ou calcul) Dur´ee (estim´ee) du processus, taille m´emoire, nombre de fichiers ouverts. . .
Priorit´e fix´ee par l’utilisateur
Variable au cours de l’ex´ecution (r`egles de l’OS)
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Pr´eemption D´efinition
Un algorithme d’ordonnancement est ditpr´eemptifs’ilpeut remplacer le processus actuellementen ex´ecution par unprocessus entrantdans la file d’attente des processus prˆets.
. . . selon la priorit´e des processus
Temporalit´e
Ordonnancement lorsque :
Le processusen ex´ecution passe en attenteou setermine
→pas de probl`eme de pr´eemption
Un processus entre dans l’´etatprˆet
→pr´eempter ?
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Pr´eemption D´efinition
Un algorithme d’ordonnancement est ditpr´eemptifs’ilpeut remplacer le processus actuellementen ex´ecution par unprocessus entrantdans la file d’attente des processus prˆets.
. . . selon la priorit´e des processus
Temporalit´e
Ordonnancement lorsque :
Le processusen ex´ecution passe en attenteou setermine
→pas de probl`eme de pr´eemption
Un processus entre dans l’´etatprˆet
→pr´eempter ?
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Pr´eemption D´efinition
Un algorithme d’ordonnancement est ditpr´eemptifs’ilpeut remplacer le processus actuellementen ex´ecution par unprocessus entrantdans la file d’attente des processus prˆets.
. . . selon la priorit´e des processus
Temporalit´e
Ordonnancement lorsque :
Le processusen ex´ecution passe en attenteou setermine
→pas de probl`eme de pr´eemption
Un processus entre dans l’´etatprˆet
→pr´eempter ?
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion Probl`eme Diagramme de Gantt Qualit´e de l’ordonnancement Notion de priorit´e
Pr´eemption D´efinition
Un algorithme d’ordonnancement est ditpr´eemptifs’ilpeut remplacer le processus actuellementen ex´ecution par unprocessus entrantdans la file d’attente des processus prˆets.
. . . selon la priorit´e des processus
Temporalit´e
Ordonnancement lorsque :
Le processusen ex´ecution passe en attenteou setermine
→pas de probl`eme de pr´eemption
Un processus entre dans l’´etatprˆet
→pr´eempter ?
Il existe diff´erents algorithmes, pr´eemptifs ou non
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plan
1 Probl`eme d’ordonnancement
2 Algorithme FIFO
3 Plus court d’abord
4 Round-Robin
5 Exemples concrets
6 Conclusion
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out Principe
Premier arriv´e, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1 P1 P2 P3
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out Principe
Premier arriv´e, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1
P1 P2 P3
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out Principe
Premier arriv´e, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1
P1
P2 P3
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out Principe
Premier arriv´e, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1
P1 P2
P3
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out Principe
Premier arriv´e, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1
P1 P2 P3
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out Principe
Premier arriv´e, premier servi : file d’attente
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1
P1 P2 P3
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Temps d’attente
Moyenne= 0+9+113 '6.67 Max = 11
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out
Rappel crit`eres : ´equitable, efficace, r´eactif
Avantages
Simple `a impl´ementer
Equitable : tous les processus on acc`´ es `a la ressource (dans l’ordre d’arriv´ee)
Inconv´enients
Peu efficace : processus de calcul ont ”plus longtemps” le processeur
Peu r´eactif : certains processus peuvent attendre tr`es longtemps
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out
Rappel crit`eres : ´equitable, efficace, r´eactif
Avantages
Simple `a impl´ementer
Equitable : tous les processus on acc`´ es `a la ressource (dans l’ordre d’arriv´ee)
Inconv´enients
Peu efficace : processus de calcul ont ”plus longtemps” le processeur
Peu r´eactif : certains processus peuvent attendre tr`es longtemps
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out
Rappel crit`eres : ´equitable, efficace, r´eactif
Avantages
Simple `a impl´ementer
Equitable : tous les processus on acc`´ es `a la ressource (dans l’ordre d’arriv´ee)
Inconv´enients
Peu efficace : processus de calcul ont ”plus longtemps” le processeur
Peu r´eactif : certains processus peuvent attendre tr`es longtemps
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
First In, First Out
Rappel crit`eres : ´equitable, efficace, r´eactif
Avantages
Simple `a impl´ementer
Equitable : tous les processus on acc`´ es `a la ressource (dans l’ordre d’arriv´ee)
Inconv´enients
Peu efficace : processus de calcul ont ”plus longtemps” le processeur
Peu r´eactif : certains processus peuvent attendre tr`es longtemps
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plan
1 Probl`eme d’ordonnancement
2 Algorithme FIFO
3 Plus court d’abord
4 Round-Robin
5 Exemples concrets
6 Conclusion
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Principe
Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)→r´eactif!
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1 P2 P3 P1
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Principe
Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)→r´eactif!
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1
P2 P3 P1
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Principe
Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)→r´eactif!
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1 P2
P3 P1
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Principe
Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)→r´eactif!
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1 P2 P3
P1
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Principe
Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)→r´eactif!
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1 P2 P3 P1
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Principe
Algorithmepr´eemptif; priorit´e = temps restant(estim´e) But : favoriser les processus courts (E/S)→r´eactif!
Exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P1 P2 P3 P1
Proc. Date Dur´ee
P1 0 10
P2 1 2
P3 1 2
Temps d’attente
Moyenne= 4+0+23 = 2 Max = 4
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Un autre exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P4 P5
P1 P3 P2P2 P4 P5 P1
File d’attente : P1
Proc. Date Dur´ee
P1 0 5
P2 1 2
P3 1 1
P4 3 1
P5 3 1
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Un autre exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P4 P5
P1
P3 P2P2 P4 P5 P1
File d’attente : P2 P3
Proc. Date Dur´ee
P1 0 5
P2 1 2
P3 1 1
P4 3 1
P5 3 1
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Un autre exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P4 P5
P1 P3
P2P2 P4 P5 P1
File d’attente : P2 P1
Proc. Date Dur´ee
P1 0 5
P2 1 2
P3 1 1
P4 3 1
P5 3 1
L’algorithme est pr´eemptif : le processus plus court prend la main
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Un autre exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P4 P5
P1 P3 P2
P2 P4 P5 P1
File d’attente : P1 P4 P5
Proc. Date Dur´ee
P1 0 5
P2 1 2
P3 1 1
P4 3 1
P5 3 1
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Un autre exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P4 P5
P1 P3
P2
P2
P4 P5 P1
File d’attente : P1 P4 P5
Proc. Date Dur´ee
P1 0 5
P2 1 2
P3 1 1
P4 3 1
P5 3 1
En cas d’´egalit´e de temps restant, on garde en priorit´e le processus actif
→´evite une commutation de contexte
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Un autre exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P4 P5
P1 P3
P2
P2 P4
P5 P1
File d’attente : P1 P5
Proc. Date Dur´ee
P1 0 5
P2 1 2
P3 1 1
P4 3 1
P5 3 1
En cas d’´egalit´e de temps restant et de date, on prend l’ordre du tableau
C¸ a reste une file. . .
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Un autre exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P4 P5
P1 P3
P2
P2 P4 P5
P1
File d’attente : P1
Proc. Date Dur´ee
P1 0 5
P2 1 2
P3 1 1
P4 3 1
P5 3 1
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Un autre exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P4 P5
P1 P3
P2
P2 P4 P5 P1
File d’attente :
Proc. Date Dur´ee
P1 0 5
P2 1 2
P3 1 1
P4 3 1
P5 3 1
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord Un autre exemple
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
P1 P2 P3
P4 P5
P1 P3
P2
P2 P4 P5 P1
File d’attente :
Proc. Date Dur´ee
P1 0 5
P2 1 2
P3 1 1
P4 3 1
P5 3 1
Temps d’attente
Moyenne= 5+1+0+1+25 = 1.8 Max = 5
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Temps restant Probl`eme
Comment connaˆıt-on le temps restant d’un processus ?
(avant requˆete ou interruption)
Estimation
A partir des dur´` ees et des estimations descycles pr´ec´edents: moyenneexponentielle
Soit :
dn la dur´ee estim´ee lors de lanieme` utilisation de l’UC tn la dur´ee r´eelle lors de la nieme` utilisation de l’UC α un facteur de pond´eration (g´en´eralement,α= 12)
dn+1=αdn+ (1−α)tn
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Temps restant Probl`eme
Comment connaˆıt-on le temps restant d’un processus ?
(avant requˆete ou interruption)
Estimation
A partir des dur´` ees et des estimations descycles pr´ec´edents: moyenneexponentielle
Soit :
dn la dur´ee estim´ee lors de lanieme` utilisation de l’UC tn la dur´ee r´eelle lors de la nieme` utilisation de l’UC α un facteur de pond´eration (g´en´eralement,α= 12)
dn+1=αdn+ (1−α)tn
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Temps restant Probl`eme
Comment connaˆıt-on le temps restant d’un processus ?
(avant requˆete ou interruption)
Estimation
A partir des dur´` ees et des estimations descycles pr´ec´edents: moyenneexponentielle
Soit :
dn la dur´ee estim´ee lors de lanieme` utilisation de l’UC tn la dur´ee r´eelle lors de la nieme` utilisation de l’UC α un facteur de pond´eration (g´en´eralement,α= 12)
dn+1=αdn+ (1−α)tn
Probl`eme d’ordonnancement Algorithme FIFO Plus court d’abord Round-Robin Exemples concrets Conclusion
Plus court d’abord
Rappel crit`eres : ´equitable, efficace, r´eactif
Avantages
R´eactif : les petits processus passent en premier
Optimal sur le temps d’attente moyen (preuve par r´ecurrence)
Inconv´enients
Pas forc´ement efficace : processus de calcul ont ”moins” le processeur s’il y a beaucoup d’E/S
Non ´equitable : on peut avoir desfaminesdes gros processus
D´efinition
On parle defaminelorsqu’un processus n’a jamais acc`es `a une ressource alors qu’il est dans la file d’attente.