Cours Chap4 Se m2

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 18

Université Ferhat Abbas Sétif 1

Faculté de Technologie
Département d’électronique
Master 2 Électronique des Systèmes Embarqués

Chapitre 4 :
Problématiques
d'un système embarqué

Dr SOLTANI Samira
Systèmes embarqués et temps réel

• Un système informatique temps réel est système dont les réactions à des «
stimuli » sont contraintes par le temps. Un système embarqué doit
généralement respecter des contraintes temporelles.
• Dans un système embarqué, on y trouve (d’une manière optionnelle) enfoui
un système d'exploitation ou un noyau Temps Réel (Real Time Operating
System, RTOS).
• Un système est dit Temps Réel lorsque l'information après acquisition et
traitement reste encore pertinente. Cela veut dire que dans le cas d'une
information arrivant de façon périodique (interruption), les temps
d'acquisition et de traitement doivent rester inférieurs à la période de
rafraîchissement de cette information.
Classification des systèmes embarqués et le temps réel

a. Temps réel dur (‘hard real-time’) : le non-respect des contraintes temporelles


entraîne la faute du système ou sur son environnement (les échéances ne doivent
jamais être dépassées.).
Exemple: contrôle de trafic aérien, système de conduite de missile, freinage,
assistance médicalisée...

Exemple: Différents moyens de déterminer


la position d’un avion : radars primaire et
secondaire, multilatération, ADS-B et ADS-
C, communications radio
Classification des systèmes embarqués et le temps réel

b. Temps réel souple (‘soft real-time’) : le respect des échéances est important, mais
le nonrespect des échéances n’a pas de graves conséquences (le manquement des
échéances cause des dégradations de performances).
Exemple: système d'acquisition de données pour affichage, billetterie
automatique.
Classification des systèmes embarqués et le temps réel

c. Temps réel ferme (‘firm real-time’) : temps réel souple, mais si


l’échéance est dépassée le résultat obtenu n’a plus de valeur (et est donc
écarté)
Exemple: projection vidéo.
L’échelle de temps des systèmes temps réel

Dans un système embarqué temps réel, il ne s’agit pas de rendre le résultat le plus
rapidement possible, mais simplement à temps, l’échelle de temps de l’échéance
peut varier d’une application à l’autre
• microseconde en contrôle radar
• milliseconde pour la synchronisation image/son (mpeg)
• minute pour les distributeurs automatiques
Systèmes d’exploitation temps réel (SETR)
❖ Système d’exploitation classique (SE)
- Un système d’exploitation classique (à temps partagé) ne prend pas en compte
• Les contraintes externes pour la gestion du temps
• Le délai de réalisation de la tâche (processus)
- SE linéaire aux nombres de tâches.
- SE décide de la dynamique d'exécution (contraintes logicielles)
Systèmes d’exploitation temps réel (SETR)
❖ Système d’exploitation temps réel (SETR)
- SETR se caractérise par sa capacité à respecter des échéances
• Les réponses doivent arriver en un temps fini et prédictible
- SETR est en interaction (échange) avec l'extérieur de manière
• Synchrone ou (scrutation-Examen répété de l'état d'un ou plusieurs éléments
d'un système pour y détecter un changement éventuel) ou un système à base
d’horloge.
• Asynchrone (interruption ou un système à base de capteur)
Systèmes d’exploitation temps réel (SETR)
❖ Systèmes d’exploitation temps réel (SETR)
- Tous les services fournis par le SETR doivent avoir
• Limites
• Temps de réponse.
• Exigences de mémoire raisonnables.
- SETRs fourniront également deux autres services
• Un mécanisme pour s'assurer que le processus le plus critique est celui qui est en
cours d'exécution
• Un mécanisme pour traiter les demandes des autres dispositifs
Systèmes d’exploitation temps réel (SETR)
❖ Systèmes d’exploitation temps réel (SETR)
- Différences de base entre le SE classique et SETR
Systèmes embarqués et temps réel
❖ Systèmes Temps Réel et parallélisme
Les contraintes temporelles associées aux systèmes informatiques Temps Réel ont
fait apparaître la notion de parallélisme. En effet un programme informatique
n'utilise pas toujours le processeur (opérations de calcul) lorsqu'il s'exécute. L'idée
est donc d'éviter ces périodes d'inactivité du processeur. On exécute alors un autre
programme durant cette période.
C’est le parallélisme : plusieurs programmes (tâches) peuvent s'exécuter en même
temps. Mais à un moment donné, un seul programme (tâche) utilise le processeur
(sur une architecture monoprocesseur).
Systèmes embarqués et temps réel
❖ Systèmes Temps Réel et parallélisme
a) L'expression du parallélisme.
Pour exprimer de façon informatique le parallélisme, nous utilisons les notions de
tâches et de ressources.
• Une tâche est un programme qui réalise une suite séquentielle d'instructions
informatiques, généralement, la suite d'instructions exécute une boucle infinie de
traitement. Les tâches représentent les "briques de base" du parallélisme.
Exemple : une tâche peut vérifier un capteur – reste en état de repos (ne rien faire )
à moins qu'une valeur qu'il a lue ne dépasse un seuil critique

• Les ressources on appelle ressources les éléments d'une application Temps Réel
qui contribuent à la progression des tâches.
Systèmes embarqués et temps réel
❖ Systèmes Temps Réel et parallélisme
b) La gestion du parallélisme
Les systèmes Temps Réel vont alors devoir mettre en œuvre des mécanismes de
gestion du parallélisme : les mécanismes de synchronisation, les mécanismes de
communication, et l'ordonnanceur.
• Les mécanismes de synchronisation : Ils gèrent l'accès aux ressources, ainsi que
l'exécution des tâches.
• Les mécanismes de communication : Ils permettent les échanges de données
entre les tâches du système.
• L'ordonnanceur : Programme qui a pour but de définir l'ordre d'exécution des
tâches.
Systèmes embarqués et temps réel
❖ Systèmes Temps Réel et parallélisme
c) Les noyaux Temps Réel : Le noyau Temps Réel forme la couche logicielle entre
le matériel et les couches logicielles d'un système informatique. Il tient le rôle de
gestionnaire et représente le cœur d'un système informatique Temps Réel. En
effet il réalise :
• La gestion des ressources matérielles (processeur, mémoire ...),
• La gestion des objets et du parallélisme (tâches, sémaphores, boîtes aux
lettres, ...),
• La gestion des erreurs.
• Le noyau Temps Réel est un logiciel formé :
• D'un secteur de démarrage,
• D'un ordonnanceur (ou scheduler).
• D'un ensemble de primitifs systèmes.
Systèmes embarqués et temps réel
❖ Systèmes Temps Réel et parallélisme
c) Les noyaux Temps Réel
➢ Le secteur de démarrage
Le secteur de démarrage est un logiciel d'initialisation du noyau (lancé après un
"reset" de la machine).
Il réalise :
• L'initialisation du système : variable, pointeurs, files d'attente, ...
• Le lancement du système : lancement de la tâche d'initialisation, de
l’ordonnanceur, de l'interface de commande, ainsi que de l'horloge Temps
Réel.
Systèmes embarqués et temps réel
❖ Systèmes Temps Réel et parallélisme
c) Les noyaux Temps Réel
➢ L'ordonnanceur
L'ordonnanceur tient le rôle d'organisateur du système. Il choisit à des instants
précis la tâche à exécuter. Si cette tâche est celle en cours d'exécution, il n'agit
pas. Sinon, il sauvegarde le contexte de la tâche en cours et restaure le contexte
de la nouvelle tâche à exécuter.
Il intervient soit de façon :
• périodique sur interruption système de l'horloge Temps Réel.
• apériodique suite à un appel d'une primitive système.
Systèmes embarqués et temps réel
❖ Systèmes Temps Réel et parallélisme
c) Les noyaux Temps Réel
➢ Les primitifs systèmes
Les primitives systèmes sont un ensemble de procédures et de fonctions mises à
disposition de l'utilisateur qui permettent (à l'intérieur d'un programme) de
manipuler les « objets » du noyau (tâches, sémaphores…).
En fait, les primitifs réalisent l'interface entre le noyau Temps Réel et l’utilisateur :
les programmes communiquent avec le noyau grâce aux primitifs systèmes.
Les primitives permettent la gestion dynamique des -objets- du noyau :
• Création ou destruction d'un objet.
• Envoi ou réception de messages des signaux.
• Communication d'informations sur les -objets- du noyau (nature, taille, nom)
D'un ensemble d'objets et de primitives systèmes.

Vous aimerez peut-être aussi