3-RtOrdonn 2c

Telechargé par Kenneth Kodjo
dition v. 2C.0
vvvv.2008
É
Multitâches
Temps R
é
el
J-M. BOUSSIER
année
volume 3
Multitâches - Temps Réel
J.M. Boussier p. 1 - 31
Partie III
1. ORDONNANCEMENT DES PROCESSUS ............................................................................................ 2
1.1. DESCRIPTION DE L' ENSEMBLE .................................................................................................................. 2
1.2. DISPATCHER ( = REPARTITEUR ) .............................................................................................................. 2
1.3. CHANGEMENT OU COMMUTATION ............................................................................................................ 3
1.3.1. Origine .................................................................................................................................................. 3
1.3.2. Changement de contexte ..................................................................................................................... 3
1.3.3. Commutation de processus ................................................................................................................. 4
1.4. SCHEDULER ( = ORDONNANCEUR ) .......................................................................................................... 4
1.4.1. Allocation du processeur .................................................................................................................... 4
1.4.2. Préemption - Réquisition du processeur ........................................................................................... 5
1.4.3. Ordonnanceur dit non déterministe ................................................................................................... 5
1.4.4. Ordonnanceur déterministe ................................................................................................................. 5
2. STRATEGIES D' ORDONNANCEMENT ............................................................................................... 6
2.1. PREMIER ARRIVE , PREMIER SERVI ( F. I. F. O. ) .................................................................................... 6
2.2. TECHNIQUE DU PLUS COURT TEMPS DE TRAITEMENT ............................................................................. 6
2.3. ORDONNANCEMENT PAR PRIORITE ............................................................................................................ 7
2.3.1. Description ........................................................................................................................................... 7
2.3.2. Problème d' inversion de priorité ...................................................................................................... 7
2.3.3. Sémaphores avec priorité ................................................................................................................... 8
2.4. ORDONNANCEMENT CIRCULAIRE (TOURNIQUET) ...................................................................................... 8
2.4.1. Description ........................................................................................................................................... 8
2.4.2. Choix de la valeur du quantum ........................................................................................................ 9
2.4.3. Avec plusieurs files ............................................................................................................................. 9
2.5. ORDONNANCEMENT AVEC VIEILLISSEMENT DES PROCESS ..................................................................... 12
2.5.1. Description ......................................................................................................................................... 12
2.5.2. Etude d' un exemple .......................................................................................................................... 12
3. ORDONNANCEMENT POUR LE TEMPS REEL ............................................................................. 14
3.1. PROPRIETES D UN PROCESSUS " TEMPS REEL " .................................................................................... 14
3.2. CARACTERISTIQUES D UN PROCESSUS " TEMPS REEL " ........................................................................ 14
3.3. ORDONNANCEMENT POUR LA RESOLUTION DES CONTRAINTES TEMPORELLES ..................................... 15
3.3.1. Algorithmes en ligne À PRIORITÉ CONSTANTE : ................................................................ 15
3.3.2. Algorithmes en ligne À PRIORITÉ VARIABLE : .................................................................... 16
3.4. ORDONNANCEMENT " RATE MONOTONIC " ............................................................................................ 17
3.4.1. Exemple 1 .......................................................................................................................................... 18
3.4.2. Exemple 2 .......................................................................................................................................... 19
3.4.3. Algorithmes pour des R. M. S. ......................................................................................................... 19
3.5. PRINCIPE DES INTERRUPTIONS PROVOQUEES PAR "TIMER" ................................................................... 21
3.6. MESURE DES PERFORMANCES ................................................................................................................. 22
3.6.1. Technique(s) et outil(s) ..................................................................................................................... 22
3.6.2. Mesures de la période et de la durée ........................................................................................... 22
3.6.3. Mesures du taux d’ occupation processeur (CPU) ........................................................................ 23
3.7. EXEMPLE : SYSTEME CONTROLE GOUVERNES A.320 ........................................................................... 23
4. MULTITACHES & TEMPS REEL .................................................................................................... 25
4.1. DEFINITION DUN NOYAU TEMPS REEL DETERMINISTE .......................................................................... 25
4.2. IDEES REÇUES .......................................................................................................................................... 25
4.3. GESTION DE TACHES - COMPLEMENTS ................................................................................................. 26
4.3.1. Généralités sur la « gestion des tâches » ....................................................................................... 26
4.3.2. La gestion des tâches selon VRTX ................................................................................................. 26
4.3.3. La gestion des tâches selon Windows NT ................................................................................... 27
4.3.4. Article « L’ordonnancement , la clé d’ une gestion efficace » .................................................... 27
Partie III Multitâches - Temps Réel
J.M. Boussier p. 2 - 31
1. Ordonnancement des processus
1.1. Description de l' ensemble
Le déroulement des processus est dépendant de facteurs pouvant être internes ou externes au
système. Ces événements font que plusieurs processus peuvent se trouver en concurrence pour
l'octroi du processeur. Ce conflit est levé en accordant à chacun d'entre eux, par exemple un
niveau de priorité.
Un logiciel spécialisé appelé ordonnanceur aura pour rôle de déterminer le processus (tâche
ou thread), parmi tous, devant être exécuté par le processeur.
La file d’attente des processus éligibles est conçue de telle manière que le premier processus
de la file soit le premier processus élu.
C’est l’ordonnanceur qui gère l'ordre des processus dans la file d’attente des processus
éligibles en fonction de critères comme, par exemple, les priorités ...
Il peut exister plusieurs files d’attente de processus bloqués. Une file peut être réservée aux
processus bloqués par les sémaphores, une autre par les tubes de communication, etc.
1.2. Dispatcher ( = Répartiteur )
Cette unité est un module logiciel considéré comme étant le plus bas niveau dans un système ;
Le "dispatcher" réalise l’élection effective d'un processus (celui qui doit être exécuté, c'est à
dire le processus prêt qui est le plus prioritaire à cet instant) avec le changement de contexte. Il
n'est pas chargé de l'ordonnancement même des processus.
Lorsqu'il existe plusieurs files d'attente ou de files de processus éligibles, la gestion en
revient à l'ordonnanceur, c'est à dire que l'ordonnanceur gère ces différentes files selon des
Partie III Multitâches - Temps Réel
J.M. Boussier p. 3 - 31
critères. Le "dispatcher" quant à lui prendra le processus devant être exécuté (l'élu) dans la file
prédéterminée. Autrement formulé, le "dispatcher" se contente de prendre à un endroit unique
le processus, élu par l'ordonnanceur, s'y trouvant.
Le "dispatcher" est déclenché par occurrence d'une interruption (à définir l'origine du
déclenchement, une base de temps ...), ce qui fait qu'entre deux exécutions du "dispatcher", le
même processus peut posséder le processeur.
Dispatcher:
TantQue(1)
identifier le premier processus P0 de la file des éligibles
si (P0 est identique au dernier processus en cours)
alors
réactiver P0
sinon
sauvegarder le contexte du dernier processus en cours
restaurer le contexte de P0
activer P0
fin de si
Fin de TantQue
1.3. Changement ou commutation
1.3.1. Origine
Le passage d’un processus à un autre pour l’exécution par le processeur est provoqué par :
demande explicite du processus lui-même
( mise en attente d'une condition, fin du processus ) ;
décision de l'ordonnanceur
( processus en cours moins prioritaire qu'un autre actif ) ;
nécessité de réponse à un phénomène externe .
Le passage d’un processus lourd (tâche) à un autre est plus « lourd » (temps, chargement
« espace mémoire », …) que celui d’un thread à un autre, étant eux, dans la même tâche.
1.3.2. Changement de contexte
Partie III Multitâches - Temps Réel
J.M. Boussier p. 4 - 31
Le changement de contexte consiste à :
sauvegarder l’état des registres du processus courant,
rechercher le processus à exécuter.
restaurer l’état des registres du nouveau processus à exécuter.
1.3.3. Commutation de processus
Une commutation de processus consiste à :
rechercher le processus à exécuter.
restaurer l’état des registres du nouveau processus à exécuter.
Considérons le cas de l'arrêt d'un processus sur demande explicite de celui-ci. Le contexte du
processus, qui était en cours d’exécution, n'est pas sauvegardé mais abandonné.
1.4. Scheduler ( = Ordonnanceur )
1.4.1. Allocation du processeur
L’ordonnanceur est un logiciel spécialisé (une partie du noyau) qui détermine le processus
(tâche et thread) parmi tous ceux éligibles (tous ceux qui sont en attente du processeur), élu
pour être exécuté par le processeur à un instant donné.
L’ordonnanceur est appelé chaque fois que :
un processus est mis en attente
un processus est réveillé
un processus est créé ( nouveau processus )
le processeur est réquisitionné par un processus plus prioritaire (préemption).
1 / 34 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!