Académique Documents
Professionnel Documents
Culture Documents
Systèmes d’Exploitation
Cours 2/6 : Ordonnacment
Thomas Lavergne
Université Paris-Sud / PolyTECH
Plan
1 Problème d’ordonnancement
2 Algorithme FIFO
4 Round-Robin
5 Exemples concrets
Rappel
Rappel
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
Rappel
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
Contraintes I
Temps réel
Permettre aux ”petits” processus (ex : E/S) d’accéder au
processeur plus vite
nb de proc.
70%
Ordonnancement
Attention
On ne s’intéresse pas à la durée totale du processus. . .
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 !
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
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
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
Diaramme de Gantt
Définition
Représentation graphique de l’exécution de plusieurs processus
affectés à plusieurs ressources au cours du temps.
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
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
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
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
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
HD1 Proc.1
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
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
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
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
Critères I
Objectif
Choisir l’algorithme d’ordonnancement
→ minimiser ou maximiser un critère
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
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
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
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
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
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
Critères II
Temps d’attente
Temps total passé par tous les processus dans la file prêt
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è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
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
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)
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
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
→ à minimiser
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
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)
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
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
→ à minimiser
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
Priorité
Principe
Associer à chaque processus une valeur de priorité
Selon les OS, valeur entière, positive ou négative, croissante ou
décroissante. . .
Priorité
Principe
Associer à chaque processus une valeur de priorité
Priorité
Principe
Associer à chaque processus une valeur de 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)
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.
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
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 ?
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
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
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
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
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
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
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
Avantages
Avantages
Simple à implémenter
Équitable : tous les processus on accès à la ressource (dans
l’ordre d’arrivée)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Temps restant
Problème
Comment connaı̂t-on le temps restant d’un processus ?
(avant requête ou interruption)
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 )
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
Avantages
Avantages
Réactif : les petits processus passent en premier
Optimal sur le temps d’attente moyen (preuve par récurrence)
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
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
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
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
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
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
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
Round Robin
Rappel critères : équitable, efficace, réactif
Avantages
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
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é
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 !
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.
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
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
Windows XP et après
Windows XP et après
Priorité
Gérée au niveau des threads uniquement
32 niveaux de priorité
Ordonnancement préemptif par niveau de priorité
Windows XP et après
Priorité
32 niveaux de priorité
Round Robin
Au sein d’une même valeur de priorité
Windows XP et après
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 !
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
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é
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
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
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)
Synthèse