Académique Documents
Professionnel Documents
Culture Documents
UAE – ENSAH
25 octobre 2021
3- Programmes temps réel
Plan
1 Ordonnancement de processus
2 Ordonnancement dans systèmes temps réel
3 Ordonnancement par l’échéance Processus
4 Limitations de l’ordonnancement en ligne
5 Tâches périodiques, apériodiques et sporadiques
6 Ordonnancement et priorités dans Linux
7 Ordonnancement temps réel dans Linux
8 Ordonnanceur SCHED_DEADLINE
9 Gestion de l’ordonnancement temps réel
3- Programmes temps réel
3.1- Ordonnancement de processus
Ordonnancement de processus
Objectifs de l’ordonnancement
Round robin
� Chaque processus s’exécute pour une période fixe (le quantum)
� Processus préempté à la fin du quantum si encore en exécution, placé à la fin de la
file
E (i) = αT (i − 1) + (1 − α)E (i − 1)
Fair share
� Assigner priorité selon les utilisateurs et leur utilisation de la ressource
� Éviter que certains utilisateurs monopolisent la ressource
� Exemple avec deux utilisateurs
� Utilisateur 1 a quatre processus (A, B, C , D), utilisateur 2 en a un seul (E )
� Ordonnancement avec round robin :ABCDEABCDEABC ...
� Ordonnancement avec fair share : AEBECEDEAEBECE ...
� Démarrer avec part égale entre utilisateurs, réduire priorité selon utilisation
� Calculer priorités pour que partage de la ressource entre utilisateurs soit équitable
� Critère d’équité à définir selon le contexte
3- Programmes temps réel
3.2- Ordonnancement dans systèmes temps réel
Contraintes de temps réel souvent énoncées comme échéances sur les tâches
� Temps de lancement : moment où tâche est disponible pour être exécutée (sans égard
aux dépendances)
� Durée d’exécution : durée d’exécution maximale de la tâche
� Échéance : moment où tâche doit avoir complétée son exécution (sans égard aux
tâches qui découlent)
3- Programmes temps réel
3.3- Ordonnancement par l’échéance Processus
Avec Dépendance entre tâches, il faut revoir les temps de lancement et échéances
effectifs
� Temps de lancement effectif (ri ) : maximum entre le temps de lancement de la tâche
�
(ri ) et le temps de lancement effectif de ses prédécesseurs directs (Pi ) plus leurs
durées d’exécution (ej )
j∈Pi
effective de ses successeurs directs (Ni ) moins leurs durées d’exécution (ej )
j∈Ni
3- Programmes temps réel
3.3- Ordonnancement par l’échéance Processus
Ordonnancement par temps de lancement le plus tardif (latest release time, LRT)
� Inverse d’EDF : part de la fin et choisi tâches selon temps de lancement (effectif, si
dépendances) le plus élevé
� On veut uniquement que les échéances soient respectées
� Même garanties qu’EDF sur la capacité à produire des cédules faisables
Ordonnancement par marge de temps la plus petite (least slack time, LST)
� Marge de temps : échéance effective moins temps restant à la tâche
� Utiliser borne maximale sur temps restant d’exécution
� Reviens à ordonnancement avec priorités dynamiques, où priorité est inverse de la
marge
� Garanties sur production de cédules faisables
3- Programmes temps réel
3.3- Ordonnancement par l’échéance Processus
� Echéances : J1 à 1, J2 à 2, J3 à 5
� Si système ne permet pas préemption ⇒ pas de garanti également
Fin de Séance
Vos Questions ?