Académique Documents
Professionnel Documents
Culture Documents
Concepts de base
Critères d’ordonnancement
Algorithmes d’ordonnancement
Un processus est exécuté jusqu’à ce qu’il doit attendre pour faire des opérations d’E/S.
quand un processus a à attendre, le système d’exploitation retire le CPU de ce processus et
l’attribue à un autre (prêt en attente dans ready queue).
1
4.1.2. Ordonnanceur
Chaque fois que le CPU devient inactif, le système d'exploitation doit sélectionner l'un des
processus, dans la file d’attente ready queue, prêt à être exécuté. Le mécanisme de sélection
est effectué par l'ordonnanceur à court terme (ou CPU scheduler).
L'ordonnanceur sélectionne les processus en mémoire qui sont prêts à s’exécuter, et alloue
le CPU à l'un d'entre eux.
Conceptuellement, tous les processus dans la file d'attente ready queue sont alignés en
attente d'une chance de s’executer sur le CPU. Les contenus de cette file d'attente sont
généralement des blocs de contrôle de processus (PCB).
Décisions d'ordonnancement peuvent avoir lieu dans les quatre cas suivants:
1. Quand un processus passe de l'état d’exécution à l'état d'attente (par exemple, à cause
des opérations d’E/S ou l’appel à la fonction wait pour terminer un processus enfant)
2. Quand un processus passe de l'état d’exécution à l'état prêt (par exemple, lorsqu'une
interruption se produit)
2
3. Quand un processus passe de l'état d'attente à l'état prêt (par exemple, après la
réalisation des opérations d’E/S)
Avec l’ordonnancement non préemptif, une fois que le CPU a été affecté à un processus, le
processus continue jusqu'à ce qu’il termine ou passe à l'état d'attente (bloqué).
De nombreux critères ont été proposés pour comparer des algorithmes d’ordonnancement.
Les caractéristiques utilisées pour la comparaison peuvent faire une différence substantielle
dans la détermination du meilleur algorithme. Les critères comprennent :
Débit - nombre de processus qui terminent leur exécution par unité de temps
Temps d'attente - quantité de temps un processus a été en attente dans la file d’attente
prêt (ready queue)
3
Temps de réponse - quantité de temps qu'il faut à partir du moment où une requête a été
lancée jusqu’à la première réponse
Ordonnancement des processus traite le problème de décider lequel des processus dans la
file d'attente prêt (ready queue) doit être alloué le CPU.
Un algorithme d'ordonnancement est une méthode ou stratégie utilisée pour ordonnancer les
processus.
4.3.1. PAPS : Premier Arrivé Premier Servi (ou FCFS : First-Come, First-Served)
La mise en œuvre de l’ordonnancement PAPS est facilement gérable avec une file
d'attente FIFO.
Quand le CPU est libre, il est affecté au processus à la tête de la file d'attente. Ce
processus est ensuite retiré de la file.
4
4.3.2. SJF : Shortest-Job-First (Le plus court d'abord)
Cet algorithme associe à chaque processus la durée de son prochain temps d’exécution CPU.
Le processus avec le temps le plus court est sélectionné. En cas d’égalité, on revient au FCFS
Deux schémas :
Non préemptif - une fois le CPU est alloué au processus ne peut pas être interrompu avant son
exécution complète.
5
SJF est optimal - donne le temps moyen d'attente minimum pour un ensemble donné de
processus.
Inconvénient
6
t n longueur actuelle de n th cycle CPU
n 1 valeur predite du prochain cycle CPU
, 0 1
7
Si le processus ne se termine pas au bout de son quantum, son exécution est suspendue. Le
processeur est alloué à un autre processus (celui en tête de file). Le processus suspendu est
inséré en queue de file.
Les processus qui arrivent ou qui passent de l'état bloqué à l'état prêt sont insérés en queue de
file.