Vous êtes sur la page 1sur 4

Systmes dexploitation Ordonnancement des processus

CHAPITRE 3 :

LORDONNANCEMENT DES PROCESSUS

Objectifs spcifiques Comprendre la problmatique du multitche Connatre la notion dordonnancement des processus et lutilit dun ordonnanceur Connatre les diffrents critres dordonnancement Connatre les algorithmes dordonnancement premptifs Connatre les algorithmes dordonnancement non premptifs Elments de contenu I. Multitche et ordonnancement des processus II. Critres et types dordonnancement III. Algorithmes dordonnancement Volume Horaire : Cours : 1 heure 30 TD : 3 heure

3.1

Introduction

Un ordinateur possde forcment plusieurs processus en concurrence pour lobtention du temps processeur, cette situation se produit lorsque 2 ou plusieurs processus sont en tat prt simultanment. LOrdonnanceur (planificateur, scheduler) est la partie (un programme) du systme dexploitation responsable de rgler les tats des processus (Prt, Actif,etc.) et de grer les transitions entre ces tats ; cest lallocateur du processeur aux diffrent processus, il alloue le processeur au processus en tte de file des Prts.

3.2

Objectifs dun Ordonnanceur

Les objectifs dun Ordonnanceur sont : Maximiser lutilisation du processeur Prsenter un temps de rponse acceptable Respecter lquit entre les processus selon le critre dordonnancement utilis.

3.3

Critres dordonnancement
- 11

Mlle I.Sghaier

Systmes dexploitation Ordonnancement des processus

Lobjectif dun algorithme dordonnancement consiste identifier le processus qui conduira la meilleure performance possible du systme. Certes, il sagit l dune valuation subjective dans laquelle entrent en compte diffrents critres limportance relative variable. La politique dordonnancement dtermine limportance de chaque critre. Un certain nombre dalgorithmes ont fait leur preuve dans la mise en uvre dune politique dordonnancement. La liste qui suit passe en revue des critres dordonnancement frquemment utiliss. Utilisation de lUC : Pourcentage de temps pendant lequel lUC excute un processus. Limportance de ce critre varie gnralement en fonction du degr de partage du systme. Utilisation rpartie : Pourcentage du temps pendant lequel est utilis lensemble des ressources (outre lUC, mmoire, priphrique dE/S) Dbit : Nombre de processus pouvant tre excuts par le systme sur une priode de temps donne. Temps de rotation : dure moyenne quil faut pour quun processus sexcute. Le temps de rotation dun processus comprend tout le temps que celui-ci passe dans le systme. Il est inversement proportionnel au dbit. Temps dattente : dure moyenne quun processus passe attendre. Mesurer la performance par le temps de rotation prsente un inconvnient : Le temps de production du processus accrot le temps de rotation ; Le temps dattente reprsente donc une mesure plus prcise de la performance. Temps de rponse : Temps moyen quil faut au systme pour commencer rpondre aux entres de lutilisateur. Equit : degr auquel tous les processus reoivent une chance gale de sexcuter. Priorits : attribue un traitement prfrentiel aux processus dont le niveau de priorit est suprieur.

3.4

Types dordonnancement
Il existe 2 types dordonnancement a. Ordonnancement

premptif :

Avec

rquisition

lOrdonnanceur

peut

interrompre un processus en cours dexcution si un nouveau processus de priorit plus leve est insr dans la file des Prts. b. Ordonnancement coopratif : Ordonnancement jusqu achvement : le processus lu garde le contrle jusqu puisement du temps qui lui a t allou mme si des processus plus prioritaires ont atteint la liste des Prts

3.5

Les algorithmes dordonnancement


a. Lalgorithme FIFO (First In First Out)

Mlle I.Sghaier

- 12

Systmes dexploitation Ordonnancement des processus

L'ordonnancement est fait dans l'ordre d'arrive en grant une file unique des processus sans priorit ni rquisition : chaque processus sexcute jusqu son terme ; le processus lu est celui qui est en tte de liste des Prts : le premier arriv. Cet algorithme est facile implanter, mais il est loin d'optimiser le temps de traitement moyen

b. Lalgorithme SJF (Shortest Job First)


L'ordonnancement par ordre inverse du temps d'excution (suppos connu lavance) : lorsque plusieurs travaux d'gale importance se trouvent dans une file, l'Ordonnanceur lit le plus court d'abord (les travaux les plus cours tant en tte de la file des prts). Cet algorithme possde linconvnient de la ncessit de connaissance du temps de service priori et le risque de privation des tches les plus longues. Afin de rsoudre ces problmes on pourra attribuer aux travaux une priorit croissante avec leur temps de sjour dans la file (temps dattente). A temps dattente gale, le travail le plus court est prioritaire. Toutefois, cette solution ncessite le calcul des priorits priodiquement et un rarrangement de la FA.

c. Lalgorithme du temps restant le plus court (SRT : Shortest Remaining Time)


Lalgorithme du temps restant le plus court, est la version premptive de lalgorithme SJF. Chaque fois quun nouveau processus est introduit dans la file des processus ordonnancer, lOrdonnanceur compare la valeur estime du temps de traitement restant celle du processus en cours dordonnancement. Si le temps de traitement du nouveau processus est infrieur, le processus en cours dordonnancement est prempte. Tout comme lalgorithme SJF, lalgorithme SRT favorise les travaux courts : les travaux longs en revanche peuvent tre victimes de famine.

d. Lalgorithme Round Robin


Il s'agit d'un algorithme ancien, simple et fiable. Le processeur gre une liste circulaire de processus. Chaque processus dispose d'un quantum de temps pendant lequel il est autoris s'excuter. Si le processus actif se bloque ou s'achve avant la fin de son quantum, le processeur est immdiatement allou un autre processus. Si le quantum s'achve avant la fin du processus, le processeur est allou au processus suivant dans la liste et le processus prcdent se trouve ainsi en queue de liste. La commutation de processus (overhead) dure un temps non nul pour la mise jour des tables, la sauvegarde des registres. Un quantum trop petit provoque trop de commutations de processus et abaisse l'efficacit du processeur. Un quantum trop grand augmente le temps de rponse en mode interactif. On utilise souvent un quantum de l'ordre de 100 ms.

e. Lalgorithme HPF(Highest Priority First)


Le modle du tourniquet suppose tous les processus d'gale importance. C'est irraliste. D'o l'attribution de priorit chaque processus. L'Ordonnanceur lance le processus prt de priorit la plus

Mlle I.Sghaier

- 13

Systmes dexploitation Ordonnancement des processus

leve. En cas de priorits gales on utilise lalgorithme FIFO. Lordonnancement des priorits peut tre premptif ou non. Les mcanismes dattribution des priorits sont trs variables ; la priorit est base sur la caractristique du processus (utilisation de la mmoire, frquence des E/S), sur lutilisateur qui excute le processus, les cots dutilisation (Le temps de lUC pour les tches de priorit suprieure est par exemple plus coteux) ou sur un paramtre que lutilisateur peut spcifier. Certains mcanismes produisent des priorits qui varient de manire dynamique : volume du temps dexcution ; alors que dautre sont statiques (la priorit associe un utilisateur).

f. Les files dattente Rtroactives


Cet algorithme met en uvre N files (N>1) dattentes classes de 1 N, un processus qui vient dtre cre est place dans la file du niveau le plus lev, une fois slectionns les processus de la file reoivent une tranche de temps relativement courte. A lexpiration de cette dernire, le processus est dplac dans la file de niveau infrieur. Les tranches de temps associes aux files sallongent au fur et mesure que le niveau dcrot. Si un processus est bloqu avant davoir utilis la totalit de sa tranche de temps, il passe la file de niveau suprieur. Le processus slectionn par cet algorithme est le prochain processus de la file la plus leve contenant des processus. La slection au sein dune file se fait suivant la stratgie FIFO. Si un processus entre dans une file alors quun autre processus dun niveau infrieur est en cours dexcution, ce dernier peut tre prempt.

3.6

Performance des algorithmes dOrdonnancement

Les performances dun algorithme pour un ensemble de processus donn peut tre analyse si les informations appropries relatives aux processus sont fournies. Par exemple, des donnes sur larrive du processus et sur lheure dexcution de ce processus sont ncessaires pour valuer lalgorithme SRT. Temps de rotation=Temps fin dexcution - Temps darrive Temps dattente=Temps de rotation Dure dexcution Temps moyen dattente=

Temps attente
nbre de processus

Rendement=

Temps d ' excution


nbre de processus

Mlle I.Sghaier

- 14