Académique Documents
Professionnel Documents
Culture Documents
2 TREmb INF342 PDF
2 TREmb INF342 PDF
STRE
Plan
STRE
Plan
Systme dexploitation et logiciels applicatifs sont immergs dans - processeur + capteurs/metteurs sophistiqus : robots, contrle de
larchitecture matrielle et ne sont pas aussi visibles que sur un PC processus,
classique, cest pour cette raison que lon parle de:
- systme enfoui (embedded system), Remarque sur les processeurs embarqus :
- informatique diffuse (pervasive computing) : linformatique est - grande capacit d'E/S,
prsente partout, mais on ne la remarque pas,
- un problme : le rapport Mips/Watt, hot RISC (sur les stations) et
cold RISC (embarqus)
Le STRE reoit des stimuli via ses capteurs et rpond en actionnant les Comme le STR, le STR embarqu (STRE) doit tre prdictible dans les
priphriques adquats. Ces interactions avec le monde extrieur se domaines temporel (chances) et logique (sret, vivacit...)
font de plusieurs manires :
Notion de qualit de la rponse :
- synchrone, (scrutation : clock based system),
- moins prcise, plus rapidement,
- asynchrone, (interruption : sensor based system),
- exacte, moins rapidement,
- combien d'chances peut-on manquer ?
Le STRE doit offrir une bonne ractivit ces vnements extrieurs :
- gestion dterministe des interruptions et des timers,
le STRE a des contraintes supplmentaires:
- importance des interruptions qui indiquent loccurrence d'une
- mettre des signaux ou rpondre des stimuli externes (capteurs)
chance, et en particulier son dpassement. Que doit-on faire
dans une fentre de temps limite (respect des chances,
dans ce cas : arrter le systme, juste la tche fautive, passer dans
dterminisme temporel),
un mode dgrad ?
- se satisfaire de ressources limites (espace mmoire, puissance
Les tches qui grent ces vnements sont :
processeur, nergie, ...), donc utiliser des algorithmes conomes en
- priodiques (dclenchement frquence fixe), consommation de mmoire, nergie, cpu,
- apriodiques (frquence de dclenchement variable) , - scurit, reprise en cas d'erreur, fonctionnement en mode dgrad
- sporadiques (frquence de dclenchement variable mais borne)
Remarque : le critre du WCET conduit la sous-utilisation des
ressources.
Consquences : STRE
Plan
Consquences de ces nouvelles contraintes :
- les algorithmes utiliss dans les STR ne peuvent pas toujours tre
implants cause d'une trop grande consommation de ressources :
1. Prsentation des systmes temps rel embarqus (STRE)
o taille mmoire du code, des donnes,
a. rappels sur les systmes temps rel
o dgradation des performances en fonction des restrictions de
b. contraintes des systmes embarqus
ressources,
c. les STRE
Exemples :
2. Structure et fonctionnement des STRE
- les garbage collectors des machines Java doivent tre repenss
pour les JVM embarques, a. Excutif ou systme
- gestion des file systems en RAM, b. Ordonnancement
- que faire si une chance n'est pas respecte ? Importance des c. Entres/sorties
interruptions qui indiquent la proximit d'une chance ou bien qu'on
l'a manque. 3. Dveloppement d'applications embarques
4. Les STRE disponibles
5. Perspectives
Niveau interface avec le matriel: - plus portable ( ?), souvent compatible POSIX,
o outils pour ajouter simplement des pilotes de priphriques, - utilisation plus souple (interface du type shell), mais est-ce
toujours ncessaire ?
Tendances :
Linformatique diffuse, omniprsente (pervasive computing, ubiquitous - Ce march devient un march de masse,
computing, Weiser 1993) :
- Standardisation (POSIX temps rel, embedded Linux, RTSJ),
- linformatique disparat, mais elle est partout, invisible pour
- interconnexion des quipements par des rseaux sans fil,
lutilisateur elle entretient avec lui des liens permanents,
- mise en uvre possible grce aux rseaux sans fil : tous les objets
de la vie courante auront-ils une adresse IP ? March atomis :
- Pas d'offre globale (on compose soi-mme sa configuration tant au
niveau matriel que logiciel),
Rle des systmes embarqus dans ce contexte :
- Pas de fournisseur dominant (31% de systmes dits
- contraintes soft real time(multimdia),
"propritaires"),
- gestion de lnergie, gestion de la localisation (par rapport au rseau
- Microsoft, Sun, IBM sont marginaux,
et/ou localisation physique ?) ,
- configuration dynamique de rseaux sans fil (rseaux ad hoc),
- information contextuelle (validit seulement locale dune
information),
Plan
Type des marchs :
Secteur Maturit Contraintes Tendances
1 Prsentation des systmes temps rel embarqus (STRE)
Scientifique, Forte Performance, Rduction des cots
arospatilae, fiabilit (conomie a. rappels sur les systmes temps rel
militaire d'chelle)
b. contraintes des systmes embarqus
Transports Moyenne Fiabilit, cot Ergonomie, rseau
Industrie Forte Fiabilit, cot Rseau c. les STRE
Bureau Forte Performance, Standardisation, 2 Structure et fonctionnement des STRE
cot puissance
Tlecomm. Forte Performance, puissance a. Excutif ou systme
Fiabilit
b. Ordonnancement : prcisions
Gd public Faible Performance, Internet
cot c. Entres/sorties
Commerce elec. Faible Fiabilit, cot, Commerce en ligne
3 Dveloppement d'applications embarques
scurit
4 Les STRE disponibles
5 Perspectives
Une application TR embarque doit rpondre des stimuli extrieurs : - exemple : un vnement externe peut ractiver une plus prioritaire
que la courante, il faut alors :
- dans un certaine fentre de temps,
o sauvegarder le contexte de la tche courante,
- mme dans le pire cas,
o crer ou restaurer le contexte de la tche dmarrer,
- dans un contexte de ressources (trs) rduites,
Problmes lis :
en assurant le respect des chances pour les tches critiques,
- quelles tches peut-on prempter (notion de priorit) ?
Attention : une tche de faible importance peut avoir de fortes
contraintes de temps, et une tche de forte importance peut avoir de - gestion fine du contexte,
faibles contraintes de temps), - gestion des donnes partages :
o entre tches, entre tches et ISR ,
il faut excuter au moins un sous-ensemble minimal des tches mme o files de messages, smaphores,
si la charge augmente (gracefull degrade) l'objectif n'est PAS le
rendement,
La process table
Comment grer les priorits :
- une entre par tche
- la priorit doit-elle reflter :
- chaque entre contient (ou permet de retrouver) :
o la priode (respect des chances)
o copie de registres
o la criticit (la tche dont lexcution est la plus importante nest
o informations sur la pile : adresse, taille, utilisation
pas forcment celle dont la priode est la plus courte)
o informations sur la consommation des ressources
- priorit fixe (RMS) ou variable (EDF)
o tat du processus
o smaphore sur lequel il est bloqu
o les messages qui lui ont t envoys
Choisir un des processus qui sont dans ltat PRET (READY) ou le La fonction ctxswitch:
processus CURRENT :
- change les pointeurs de pile, etc,
- rle du scheduler (qui peut tre une fonction sched ())
- sauve les registres,
Le scheduler :
- restaure le contexte du processus rordonnanc,
- choisit le plus prioritaire des processus READY ou le CURRENT
- ATTENTION : ds que le compteur ordinal est restaur, on part
- fait ventuellement passer le CURRENT en READY dans le code du processus rordonnanc : on ne revient pas de la
- remarque : fonction ctxswitch qui fait le changement de contexte !!!!
Quelques dtails
- la valeur sauve pour le CO par ctxswitch est sa propre
adresse de retour:
o cest celle o devrait revenir ctxswitch si elle tait une
fonction ordinaire mais elle est appele par un processus A,
elle donne la main un processus B, qui devra repasser le
contrle, non pas a ctxswitch, mais A
Opration P :
- si le compteur passe ngatif :
le rle de sched ()est seulement de choisir un processus parmi les
READY et CURRENT : o faire passer le processus de CURRENT BLOCKED,
- elle ne cr PAS de processus, o indique le numro du smaphore dans lentre de la process
table associe au processus
- elle ne vrifie pas si la liste des READY est vide,
o appel sched()
- consquence : il doit toujours y avoir au moins un processus dans ltat
READY : le null process
Opration V :
- si le compteur passe ngatif ou nul :
o choisir un processus et le faire passer de BLOCKED
READY,
o appel sched()
Si une tche (ex : gestion de la direction dun vhicule) attend un Exemple pour trois tches T1, T2 et T3 dont on donne ci-dessous le
rsultat fourni par une autre (ex : dtecteur de choc), on parle de graphe de dpendance :
tches dpendantes,
Gestion Gestion
des interruptions Des interruptions
On associe chaque interruption une fonction de traitement (vecteur Tables des vecteurs, priorits, masquage, traitement
dinterruption, ISR) : Horloges
- Attention au partage de donnes - real time clock (interrompt le processeur)
o bufferisation , o envoie une interruption chaque tick
o quand passer les donnes aux tches ? o ne gre pas de compteur, le dcompte des interruptions doit
tre fait par le systme
Quand activer ou inhiber les interruptions ? o sert grer des alarmes (quantum, chance), utilisation
dune liste du type delta
- priodiquement : tous les n tics dhorloge,
- time of day clock (consult sa demande par le systme)
- premption,
o mise jour dun compteur qui sera ventuellement lu par le
systme ou les applications
Entres sorties :
- initialisation des vecteurs (bas niveau),
- criture du pilote et des fonctions de haut niveau
STRE
Plan
Environnement Environnement
de dveloppement de dveloppement
Environnement Exemples
de dveloppement
RAM
Interface 2. accs nfs Interface
Pour rduire les cots Ethernet Ethernet
Port srie Port srie
- simulateurs, 3. Excution/mise
au point
COM1
Facteurs STRE
intervenant dans la
gestion du temps Plan
(rappels)
- attention au bon typage des variables (cf. volatile en C pour laccs 5. Perspectives
aux registres des priphriques),
Propritaires :
- LynxOS de Lynx, 4% du march, QNX, 5% du march,
Parmi les systmes temps rel ports sur de nombreuses plateformes,
- iRMX, produit par Intel pour 8086, 5% du march, citons :
- pSOS (ISI) et VRTX (Microtec) pour 68xxx, 9% du march, - RTEMS,
- VxWorks, 286 Ko, de WindRiver (terminaux X, Mars Pathfinder), - Linux (RTLinux),
11% du march,
Dans le domaine des systmes ddis la tlphonie mobile :
- Windows CE (version rduite de NT, pas temps rel, 4Mo RAM),
sur Intel et MIPS, - Symbian,
- JavaCard (24 64 Ko de ROM, 512o 2Ko de RAM) ARINC 653, orient avionique, est reprsentatif des recherches
actuelles en haute disponibilit.
free software :
Dans le monde des systmes embarqus sur les mobiles, mais non
- RTEMS de OAR, implment en C et Ada, port sur de trs temps rel : Microsoft Mobile Windows et la JVM J2ME.
nombreux processeurs et BSP,
- eCos de Red Hat,
- Linux embarqus varis (RT-Linux, Linux-RK)
universitaires : Spring, ARTS, Mars, TinyOS
o Lordonnancement doit tre premptif, avec une gestion FIFO - Windows Mobile 5.0 de Microsoft nest pas temps rel mais
des threads ayant la mme priorit, la JVM ne peut changer la propose la technologie push qui permet de recevoir des mails le plus
priorit dun thread que dans le cas de linversion de priorit, tt possible. Une technologie qui a fait le succs de RIM (Research
In Motion, http://www.rim.com) et Blackberry
o Gestion des threads au niveau utilisateur : (http://www.blackberry.com) : 3 millions d'utilisateurs dans le monde,
! caractrisation fine des threads temps rel en prcisant - possibilit de stockage des informations utilisateur en mmoire
leur cot, leur chance et leur priode, persistante.
! cration de threads de priorit suprieure celle du
garbage collector.
! service de contrle dadmission : on peut demander le
calcul de lordonnanabilit dun jeu de threads.
RTSJ propose aussi des outils pour construire des ordonnancements
RMS, EDF ou LLF, pour crer des zones de mmoire qui ne sont pas
gres par le garbage collector, et met disposition des timers haute
rsolution dterministes ainsi que des mthodes pour la gestion des
vnements asynchrones.
STRE Perspectives :
logiciel
Plan
Les systmes : du plus petit au plus grand :
- Systmes miniatures pour les rseaux de capteurs (micro
systmes) : TinyOS de Berkeley,
- Systmes embarqus distribus grande chelle : quel middleware
1. Prsentation des systmes temps rel embarqus (STRE)
(RT CORBA, ) ?
a. rappels sur les systmes temps rel
Ordonnancement : notions de partitions (ARINC 653), ordonnancement
b. contraintes des systmes embarqus dynamique et adaptable (flexible scheduling, power aware scheduling),
2. Structure et fonctionnement des STRE Gestion de lnergie : par lordonnancement, par le matriel, la
compilation ?
a. Excutif ou systme
Compilateurs , exemple : impact de la compilation sur la gestion de
b. Ordonnancement lnergie :
c. Entres/sorties - rduction du nombre dinstructions (+)
3. Dveloppement d'applications embarques - unrolling des boucles (-)
4. Les STRE disponibles
5. Perspectives
Perspectives :
matriel