ORDONANCEMENT

Pages: 25 (6088 mots) Publié le: 8 janvier 2015
Chapitre 8

Ordonnancement des processus

D

Ans

un système multi-utilisateurs à temps partagé, plusieurs processus peuvent être présents en mémoire centrale en attente d’exécution.
Si plusieurs processus sont prêts, le système d’exploitation doit gérer l’allocation du processeur aux différents processus à exécuter. C’est l’ordonnanceur qui s’acquitte de cette tâche.

8.1 IntroductionTout le logiciel d’un ordinateur peut être vu comme un ensemble de
processus dont l’exécution est gérée par un processus particulier : l’ordonnanceur (scheduler en anglais). Un ordonnanceur fait face à deux problèmes principaux :
– le choix du processus à exécuter, et
– le temps d’allocation du processeur au processus choisi.
Un système d’exploitation multitâche est préemptif lorsquecelui-ci peut
arrêter (réquisition) à tout moment n’importe quelle application pour passer la main à la suivante. Dans les systèmes d’exploitation préemptifs on
peut lancer plusieurs applications à la fois et passer de l’une à l’autre, voire
lancer une application pendant qu’une autre effectue un travail.
Il y a aussi des systèmes d’exploitation dits multitâches, qui sont en fait
des « multi-tâchescoopératifs ». Quelle est la différence ? Un multitâche
coopératif permet à plusieurs applications de fonctionner et d’occuper des
plages mémoire, laissant le soin à ces applications de gérer cette occupation, au risque de bloquer tout le système. Par contre, avec un « multi-tâche
préemptif », le noyau garde toujours le contrôle (qui fait quoi, quand et
comment), et se réserve le droit defermer les applications qui monopolisent
1

2

CHAPITRE 8. ORDONNANCEMENT DES PROCESSUS

les ressources du système. Ainsi les blocages du système sont inexistants.

8.2 Types d’ordonnanceurs
Il est possible de distinguer trois types d’ordonnanceurs : à long terme,
à moyen terme et à court terme. Leurs principales fonctions sont les suivantes :
À long terme : L’ordonnanceur fait lasélection de programmes à admettre
dans le système pour leur exécution. Les programmes admis deviennent des processus à l’état prêt. L’admission dépend de la capacité
du système (degré de multiprogrammation) et du niveau de performance requis.
À moyen terme : Il fait la sélection de processus déjà admis à débarquer
ou rembarquer sur la mémoire. Il effectue ses tâches de gestion en
fonction du degréde multiprogrammation du système, et aussi des
requêtes d’E/S des périphériques.
À court terme : L’ordonnanceur à court terme a comme tâche la gestion
de la file des processus prêts. Il sélectionne — en fonction d’une certaine politique — le prochain processus à exécuter. Il effectue aussi le
changement de contexte des processus. Il peut implanter un ordonnancement préemptif, non préemptif, oucoopératif. L’ordonnanceur
est activé par un événement : interruption du temporisateur, interruption d’un périphérique, appel système ou signal.

8.3 Objectifs de l’ordonnanceur d’un système multiutilisateur
Les objectifs d’un ordonnanceur d’un système multi-utilisateur sont,
entre autres :
– S’assurer que chaque processus en attente d’exécution reçoive sa part
de temps processeur.
–Minimiser le temps de réponse.
– Utiliser le processeur à 100%.
– Utilisation équilibrée des ressources.
– Prendre en compte des priorités.
– Être prédictibles.

8.4. ORDONNANCEURS NON PRÉEMPTIFS

3

Ces objectifs sont parfois complémentaires, parfois contradictoires : augmenter la performance par rapport à l’un d’entre eux peut se faire en détriment d’un autre. Il est impossible de créer unalgorithme qui optimise tous
les critères de façon simultanée.

8.4 Ordonnanceurs non préemptifs
Dans un système à ordonnancement non préemtif ou sans réquisition,
le système d’exploitation choisit le prochain processus à exécuter, en général, le Premier Arrivé est le Premier Servi PAPS (ou First-Come FirstServed FCFS) ou le plus court d’abord (Short Job First SJF ). Il lui alloue le...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !