Systèmes d`exploitation Ordonancement des processus

publicité
Systèmes d’exploitation
Ordonancement des processus
Didier Verna
[email protected]
5 décembre 2000
Table des matières
Table des matières
Généralités ...........................................................................................
2
Ordonnancement et Réquisition ...............................................................
3
Critères d’ordonnancement................................................................
4
Algorithmes d’ordonnancement ........................................................
5
........................................................................
6
Ordonnancement avec priorités ...............................................................
7
Tourniquet (RR) ....................................................................................
8
Files d’attente à plusieurs niveaux ............................................................
9
Plus court d’abord (SJF)
Ordonnancement temps réel.............................................................. 10
Systèmes d’exploitation
Ordonancement des processus – 1
Généralités
Généralités
Idée de base : effectuer une commutation dès que le processus en
exécution doit attendre.
Fréquence
Programmes tributaires
des entrées/sorties
Programmes tributaires
de l’unité centrale
Durée des cycles
Systèmes d’exploitation
Ordonancement des processus – 2
Généralités
Ordonnancement et Réquisition
Ordonnancement et Réquisition
Motifs de commutation :
➥ Aucun choix : blocage ou terminaison d’un processus.
➥ Choix : Arrivée d’un nouveau processus, passage des états actif ou
bloqué à l’état prêt.
=⇒ Ordonnancement sans réquisition : ne gère que le premier type
de commutation (Windows).
=⇒ Ordonnancement avec réquisition : gère tous les motifs de commutation. Nécessite des outils de synchronisation et du matériel spécifique
(horloge).
=⇒ La commutation a un coût : latence de dispatching.
Systèmes d’exploitation
Ordonancement des processus – 3
Critères d’ordonnancement
Critères d’ordonnancement
Maximiser :
➥ l’utilisation du processeur.
➥ la capacité de traitement : nombre de processus terminés par seconde.
Minimiser :
➥ le temps de restitution : délai entre la soumission d’un processus et sa
terminaison (mise en mémoire, attente en état prêt, attente E/S, exécution).
➥ le temps d’attente : temps passé en état prêt.
➥ le temps de réponse : délai entre la soumission et le moment où l’on
commence à répondre (programmes interactifs).
=⇒ Optimisation de moyenne, valeur maximale, variance. . .
Systèmes d’exploitation
Ordonancement des processus – 4
Algorithmes d’ordonnancement
Algorithmes d’ordonnancement
Permier Servi (FCFS)
➥ File d’attente FIFO pour les processus prêts.
➥ Algorithme sans réquisition.
➥ Grande variance des critères d’ordonnancement.
➥ Effet d’accumulation.
=⇒ Mauvais algorithme pour les systèmes en temps partagé.
Systèmes d’exploitation
Ordonancement des processus – 5
Algorithmes d’ordonnancement
Plus court d’abord (SJF)
Plus court d’abord (SJF)
➥ Le prochain cycle le plus court est sélectionné. En cas d’égalité, on
revient au FCFS.
➥ Algorithme avec ou sans réquisition (avec : «temps restant le plus
court» ou SRTF).
➥ Temps moyen d’attente minimal.
Difficulté de calculer la longueur des cycles. Approximation possible par
moyenne exponentielle : τn+1 = ατn + (1 − α)τn−1
=⇒ peu adapté pour l’ordonnancement à court terme.
Systèmes d’exploitation
Ordonancement des processus – 6
Algorithmes d’ordonnancement
Ordonnancement avec priorités
Ordonnancement avec priorités
➥ Généralisation du SJF (priorité = inverse de la longueur du prochain
cycle).
➥ Algorithme avec ou sans réquisition.
➥ Priorités internes (consommation de ressources. . .).
➥ Priorités externes (fixées par l’utilisateur).
Problème majeur de l’ordonnancement avec priorités : «famine» (blocage infini) =⇒ technique du «vieillissement» (augmentation progressive
de la priorité des processus en attente).
Systèmes d’exploitation
Ordonancement des processus – 7
Algorithmes d’ordonnancement
Tourniquet (RR)
Tourniquet (RR)
➥ FCFS avec réquisition sur une base de quantums (10–100ms).
➥ Nécessite une horloge.
➥ Le quantum doit être grand par rapport au temps de commutation.
➥ Le quantum ne doit pas être trop grand (dégénérescence en FCFS).
=⇒ réquisition pour les cycles plus longs que le quantum, commutation
passive pour les cycles plus courts.
Systèmes d’exploitation
Ordonancement des processus – 8
Algorithmes d’ordonnancement
Files d’attente à plusieurs niveaux
Files d’attente à plusieurs niveaux
➥ Découpage de la file d’attente en plusieurs files (processus interactifs,
arrière-plan, taille. . .).
➥ Ordonnancement spécifique au sein de chaque file (RR, FCFS).
➥ Ordonnancement des files entre elles (avec priorités).
Ordonnancement avec feedback : possibilité de déplacer les processus d’une file d’attente à l’autre.
Systèmes d’exploitation
Ordonancement des processus – 9
Ordonnancement temps réel
Ordonnancement temps réel
➥ Systèmes temps réel rigides : réservation de ressource. L’ordonnanceur doit connaître exactement le temps de chaque instruction.
➥ Systèmes temps réel souples : priorités hautes et non dégradables,
minimiser la latence de dispatching.
Minimisation de la latence de dispatching : réquisition des appels
systèmes, ou plus généralement de tout le noyau (Solaris 2). =⇒ Nécessité de synchroniser les accès au noyau (section critique).
➥ Inversion des priorités : un processus prioritaire attends des ressources noyau prises par un processus non prioritaire.
➥ Solution : héritage des priorités (accès noyau en priorité haute).
Systèmes d’exploitation
Ordonancement des processus – 10
Téléchargement