Vous êtes sur la page 1sur 4

LSE 2ème année RTOS

TP – Simulation RTES

Objectifs :
- Présentation de simulateur CHEDDAR et prise en main du logiciel.
- Etude des applications temps réel.

Cheddar, c'est quoi ?


Cheddar est un outil de simulation permettant de calculer différents critères de performance
(contraintes temporelles, dimensionnement de ressources). L'outil permet, entre autre, de tester le
respect des contraintes temporelles d'un jeu de tâches modélisant une application/un système temps-
réel. Cet outil a initialement été écrit dans un but pédagogique, mais il peut néanmoins, dans une
certaine mesure, aider les personnes qui étudient/conçoivent des algorithmes d'ordonnancement
temps-réel ou qui souhaitent étudier les contraintes temporelles d'une application temps-réel simple.
Cheddar est maintenu par le LISYC, Université de Brest.

Cheddar est principalement constitué de deux composants logiciels :

• Un éditeur qui permet à l'utilisateur de décrire l'application à analyser et sur lequel, les
résultats de simulation seront présentés.
• Une bibliothèque comportant les principaux résultats de la théorie de l'ordonnancement temps
réel ainsi que quelques outils de files d'attente.

Cheddar offre deux types de fonctionnalité : un environnement de simulation et des tests de


faisabilité. Les tests de faisabilité permettent à l'utilisateur de vérifier si les contraintes temporelles
d'une application sont respectées sans pour autant calculer une simulation de l'ordonnancement.
L'environnement de simulation quant à lui, effectue une analyse d'un ordonnancement précédemment
calculé. L'environnement peut être étendu afin de modéliser des modèles de tâches ou
d'ordonnanceurs non couverts par la théorie de l'ordonnancement actuel.

Les principales fonctionnalités de l'outil sont :

• Calcul d'ordonnancement pour la plupart des algorithmes "standards".


• A partir d'un ordonnancement, l'environnement de simulation permet d'obtenir :
 Les temps de blocage sur ressources partagées (bornes maximales, minimales, …).
 Les temps de réponse des tâches (bornes maximales, minimales, délais moyens).
 Nombre de commutations de contexte, de préemption.
 Recherche d'interblocage, d'inversion de priorité.
 Echéances manquées.
• Possibilité d'appliquer des tests de faisabilité dans le cas préemptif ou non préemptif :
o Borne sur les temps de réponse (pour EDF, LL, DM et RM).
o Borne sur les temps de blocage sur ressources partagées (avec PCP, PIP ou IPCP),
o Test sur le taux d'utilisation processeur (avec EDF, LLF, RM et DM).
• Support des tâches périodiques, apériodiques, activées aléatoirement (loi de Poisson,
Exponentiel). Support de tâches périodiques avec jitter, offset et avec délais critiques
quelconque vis-à-vis de la période.
• Support des ressources partagées (simulation, calcul de borne du temps de blocage).
Protocoles supportés : PIP, PCP, IPCP.

1 2020-2021
LSE 2ème année RTOS
o Temps de réponse de bout en bout avec le calcul Holistique de Tindell (test de
faisabilité).
o Modification de paramètres de tâches avec la méthode de Chetto et Blazewicz (test de
faisabilité et simulation).
o Ordonnancement de tâches avec graphe de précédences pour système
multiprocesseurs.

L'image ci-dessous est une copie d'écran de l'outil. On y voit dans la partie haute les chronogrammes
issus de l'ordonnancement des tâches, puis, dans la partie basse, les résultats concernant l'analyse de
l'ordonnancement ainsi que les tests de faisabilité.

1- Le processeur (Processor):
Donner un nom d’un processeur et choisir le type de l'ordonnanceur en indiquant préemptif ou non
préemptif.

2- Adresse (Address)

2 2020-2021
LSE 2ème année RTOS
3- Tâches (Tasks)
Donner pour tâche le nom et les caractéristiques (type,
priorité, capacité, échéance, …)

4- Ressources
Si les tâches partagent les mêmes ressources, on
indique pour chaque tâche les instants de début
et de la fin de l'utilisation.

Exercice 1 :
On considère les trois tâches suivantes:

Tâche Capacité Période Echéance


T1 1 3 3
T2 1 4 4
T3 2 6 6

Pour RM, EDF et LLF :


1- Déterminer U et vérifier l’ordonnançabilité des tâches.
2- Déterminer le temps de réponse pour chaque tâche.
3- Dessiner l’ordonnancement sur la période d’étude.

3 2020-2021
LSE 2ème année RTOS
Exercice 2 :
Un système d'arrosage automatique doit arroser trois types de plantes :

• les plus fragiles qui doivent être arrosées pendant 10 minutes, toutes les 40 minutes,
• une deuxième catégorie qui doit recevoir de l'eau pendant 20 minutes, toutes les heures,
• enfin, des plantes d'un troisième type qu'il faut arroser toutes les 80 minutes, pendant 20
minutes.
1. L'arrosage peut se faire de façon fractionnée, c'est à dire s'interrompre et reprendre.
On cherche une solution pour le partage de l'eau entre ces différentes variétés de plantes :
1.1. Définir la liste des tâches à accomplir,
1.2. Puis, pour les stratégies RM et EDF :
o Calculer l'ordonnançabilité de ces tâches,
o Donner un schéma d'utilisation du système d'arrosage à partir du temps 0.
2. On veut maintenant se servir du système d'arrosage pour nettoyer les allées qui desservent les
plantations. On décide de faire cet entretien pendant 10 minutes toutes les heures. Cet entretien
est-il possible pendant les arrosages :
2.1. avec RM, pourquoi ?
2.2. avec EDF, pourquoi ?

3. Pour nettoyer toutes les allées, il faut 20 minutes. Si l'entretien commence 1h30 après le début
de l'arrosage des plantes, pourra-t-on avoir complètement nettoyé les allées :
3.1. au bout d'une heure ?
3.2. après 100 minutes ?

Exercice 3
Soient trois tâches A, B et C définies par les paramètres suivants :
SA = 0; PA = 12; CA = 4;
SB = 0; PB = 16; CB = 2.
SC = 0; PC = 24; CC = 10.
Les délais critiques sont égaux aux périodes (Di = Pi). On utilise RM pour ordonnancer les tâches
(mode préemptif).
1- Les tâches A et C accèdent à une ressource partagée R1.
A accède à R1 de la 3ème unité de temps de sa capacité à la 4ème incluse.
C accède à R1 durant la totalité de sa capacité.

1.a. Dessinez sur les 30 premières unités de temps l'ordonnancement généré par RM. Vous
indiquerez les moments d'accès exclusif à la ressource ainsi que le moment où l'inversion de
priorité intervient.
1.b. On suppose que l'on utilise la méthode d'héritage simple (PIP). Redessinez
l'ordonnancement sur les 30 premières unités de temps et indiquez le moment sur le graphe
où l'inversion de priorité est évitée.
2- Dans cette partie la tâche B est supprimée et l'activation de la tâche A est retardé de deux unités.
Les tâches A et C accèdent aussi à une autre ressource partagée R2.
A accède à R2 de la 2ème unité de temps de sa capacité à la 4ème incluse.
C accède à R2 de la 7ème unité de temps de sa capacité à la 8ème incluse.
2.a. Dessinez sur les 30 premières unités de temps l'ordonnancement généré par RM. Que se
passe t-il de remarquable ?
2.b. Redessinez le chronogramme sur les 30 premières unités de temps lorsque les ressources
sont générées grâce à la méthode du plafond de priorité (PCP).

4 2020-2021

Vous aimerez peut-être aussi