Vous êtes sur la page 1sur 20

Cours Temps Rel

Dfinition
Caractristiques
Domaines dapplication
Temps rel soft et hard
Temps de rponse
Dterminisme
Ordonnancement
Temps partag
Modes dordonnancement
Premption
Interruption
Multitche
Taches priodiques et apriodiques
Horloge temps rel
Caractristiques et performances temporelles
Temps Rel

[ tv 2003]

Dfinition
1967 : introduction du multitche avec la technique de partage du
temps (time-sharing).
1970 :premire apparition du terme temps rel (concide avec
lapparition des microprocesseurs dans lenvironnement
industriel).
UnsystmefonctionneenTempsRelsilestcapable
dabsorbertouteslesinformationsenentreavantquelles
soienttropviellespourlintrtquellesprsententetde
ragircelles-cisuffisammentvitepourquecetteraction
estunsens(ABRIAL BOURGNE).

Unrsultatjuste,maishorsdlai,estunrsultatfaux.

Temps Rel

Caractristiques

Pour commander un environnement industriel, il faudra respecter les


contraintesdetemps.

Le temps dexcution dune tche doit tre connu et non soumis des
variations lies la charge du systme.

De nos jours, un calculateur embarqu signifie implicitement calculateur


temps rel embarqu.

Au niveau logiciel, on distingue : lexcutif Temps Rel (le noyau) et


lapplication Temps Rel (les tches).

Exemples dOS Temps Rel :


LynxOs, OS9, MTR86, RT-RTAILINUX, pSOS, VRTX, VxWorks, QNX,

Temps Rel

Domaines dapplication
systme de commande et de contrle de processus industriels
systme de contrle ariens
systmes embarqus dans les avions, navettes spatiales, etc
gestion des stations spatiales
systme de dfense
surveillance mdicale intensive
coordination des collectivits mixtes robots-humains
gestion automatique du trafic et du transport urbain
le multimdia
les systmes de tlcommunication
... etc ...

Temps Rel

Temps rel soft et hard


Le terme temps rel peut prendre des significations trs
diffrentes suivant les applications. Cependant, la littrature
informatique dfinit gnralement uniquement deux types :
les systmes temps rel soft (mou) et hard (dur).
Un systme temps rel soft se caractrise par la possibilit daccomplir une tche qui, en
moyenne, est excute selon un planning prdtermin. Laffichage vido est un bon exemple, o la
perte occasionnelle de frames ne causera pas de dgradation perceptible du systme, dlivrant une
performance moyenne demeurant acceptable. Bien que des techniques comme linterpolation puissent
tre employes pour compenser les frames manquantes, le systme demeure temps rel soft , car
les donnes relles sont manquantes et les frames issus de linterpolation sont des drivs et non les
donnes relles.
Lincorporation de temps rel hard garantit le timing, ne peut pas manquer les dlais limites et
doit avoir des temps de latence lis. Comme les deadlines ne sont jamais manqus, un systme temps
rel hard ne peut pas utiliser le cas moyen des performances pour compenser le pire. Un exemple de
systme temps rel hard est fourni par la gestion des transducteurs dun racteur nuclaire, lequel doit
utiliser un systme de contrle numrique complexe, afin dviter les dsastres

Temps Rel

Temps de rponse
Pour fournir une rponse, un systme doit reconnatre, traiter et
sortir un rsultat. Le temps de rponse TR est le suivant :
TR=Tcalcul+TE/S

L'apparition d'un phnomne implique l'excution d'une action


effective au plus tard dans un dlaiTR appel tempsde
rponse. Il convient de considrer :
les valeurs ou les ordres de grandeur de TR ;
la possibilit ou non de choisir TR ;
les rpercussions sur le systme du non respect de la

Temps Rel

contrainte TR.

Temps de rponse (suite)


Il faut relativiser la notion temps rel car tous les systmes n'ont
pas les mmes exigences :
le temps de rponse des STR peut aller de quelques dizaines de s pour les
systmes radars quelques heures pour des systmes de surveillance de
ractions chimiques (voire plusieurs annes dans des systmes utiliss en
astronomie).

Il existe globalement deux situations :


les systmestransactionnels o l'on a une tolrance statistique (pour le
non respect des contraintes de temps).
la commandedeprocessus o les respect d'un dlai de rponse TR doit
tre garanti dans tous les cas sous peine de voir une dgradation ou un
effondrement du systme.

Temps Rel

Dterminisme
Un systme sera dit "dterministe" lorsque le temps maximal qu'il
mettra pour traiter une tche quelconque sera connu et dtermin
l'avance.
Il convient de considrer les diffrents niveaux constituant le systme
:
au niveau processeur : le dterminisme est total.
au niveau de l'excutif : ilseradterministesisontempsderponseest
indpendantdesacharge.
au niveau du systme : ilseradterministes'ilestcapablederpondreune
requteetlatraiterenuntempsmaximumindpendantdel'environnement
extrieur.

Temps Rel

Ordonnancement (scheduling)

Cest une notion fondamentale des systmes multitches et des systmes


temps rel (STR). Plusieurs tches peuvent se trouver en concurrence pour
obtenir lUC. La tche de plus grande priorit est excute en premier. Les
tches restantes seront slectionnes tour de rle par lordonnanceur
(scheduler).

Lordonnanceur (scheduler) doit :

assurer la gestion des tches de ltat bloqu ltat prt (ou ligible)
effectuer le choix de la tche lue (en excution) parmi les tches ligibles.

Les critres de slection de lalgorithme sont :

garantir chaque tche un temps processeur ;


respecter un ordre de priorit entre tches ;
respecter un temps de rponse donn ;
permettre la premption.

Temps Rel

Temps partag (time sharing)


Le temps partag consiste dcouper le temps
processeur en tranches (time - slice) et attribuer
squentiellement ces tranches aux diffrentes tches
(multiplexage temporel du P).

Le dcoupage en tranches de temps est gr partir


dun circuit dhorloge fonctionnant en IT. Le choix de la
dure (quantum de temps Q ou time-slice) peut tre
dlicat (valeur courante pour un systme de type Unix:
10 ms).
Temps Rel

Modes dordonnancement (scheduling)


Lordonnanceur dun OS POSIX (LynxOs ou Linux RT) propose 3
modes de fonctionnement :
SCHED_FIFO: lorsquun processus devient prt, il est excut immdiatement. Le
scheduler choisit dlire le processus possdant la plus grande priorit et lexcute. Le
scheduler ninterrompra lexcution que dans trois cas :

un autre processus de type SCHED_FIFO possdant une priorit plus leve passe ltat prt, il est alors
excut (premption) ;
le processus se suspend dans lattente dun vnement ;
le processus abandonne volontairement le temps processeur par un appel yield. Le processus passe alors ltat
prt et le scheduler prend la main.

SCHED_RR (Round Robin) : lorsquun processus devient prt, il est excut


immdiatement. Il lui est attribu un quantum de temps. Lorsque le quantum expire,
un processus de priorit suprieure ou gale peut tre choisi et excut. Le mode
round robin est aussi appel priorit tournante.
SCHED_OTHER : ce mode est diffrent suivant les systmes. Pour Lynx, un quantum de
temps fixe est dfini par niveau de priorit.

Temps Rel

Premption
La premption est un des outils mis en uvre pour assurer l'aspect
dterministe d'un systme. Lapremptionsedfinitcommela
rquisitionduprocesseurpourl'excutiond'unetcheetd'une
seulependantuntempsdtermin.
Un ordonnancement statique base de priorits peut se drouler de
deux faons distinctes :
ordonnancementsanspremption : lorsque le processeur est inactif, la tche prte de
plus haute priorit sera choisie pour tre excute. Une fois choisie, elle s'excute jusqu' ce
qu'elle se termine ou rende le processeur.
ordonnancementavecpremption : lorsque le processeur est inactif, la tche prte de
plus haute priorit sera choisie pour tre excute. Achaqueinstantcettetchepeut
treprempte(remplace)parn'importequelletcheplusprioritairequiserait
devenueprte.

Temps Rel

Interruption
Rle: prendre en compte des vnements externes au processeur
(asynchrones)

La prise en compte d'une interruption provoque l'arrt du programme en


cours et l'excution d'un programme associ cette IT.

La gestion des IT est une caractristique essentielle dun excutif TR :

lemasquagedesinterruptionsestunautremoyenpropre
assureruncertaindterminismeetintervientauniveau
processeur.

Temps Rel

Multitche
Un excutif temps rel reprend tout ce qui caractrise un systme
multitche :
excution concurrente de tches ;
synchronisation et communication entre tches, ... etc ...
La qualification "tempsrel" n'implique pas forcment l'ajout de
fonctionnalits logicielles supplmentaires par rapport un systme
multitche, mais plutt l'adoption de stratgies diffrentes : le
dterminismeetlapremption.

Temps Rel

Tches priodiques et apriodiques


Une tche priodique peut donc tre excute une fois
par priode T et elle peut tre synchrone avec une
horloge temps rel. Une tche priodique sera horsdlai si sa priodicit n'est pas respecte.

Une tche apriodique est en gnral associe un


vnement asynchrone (une interruption) et doit tre
traite dans un dlai maximum ne pas dpasser.

Temps Rel

Horloge temps rel

L'horlogetempsrelestutiliseprcismentpour:

dclencherpriodiquementdestchesquandcelles-cionttmisesenplace;
grerletempspartagentrelestches(round robin);
connatreletempscouldepuisunecertaineaction;
grerlestimeoutdesprimitivesRT.

AchaqueTICdel'horloge,l'ordonnanceurestinvoqu,ilappelle
unetchehorlogedeplushauteprioritquieffectuelesactions
suivantes:

dcrmentationd'uneunitlecompteurpourchaquetchesuspenduesuruntimeout
miseenfiledestchesprtessilecompteurdelatcheestarrivezro
lancementdestchesattachesunmodepriodiques

LanotiondetempsestgnralementexprimeenTICd'horloge
(ventuellementenns).

Temps Rel

Caractristiques et performances
temporelles (1)
Pourrduirelessurchargesdefonctionnementetafin
d'acclrerlesystme,lenoyaud'unSTRdoitavoirles
caractristiquessuivantes:

unerapidecommutationdecontexte;

unepetitetaille(avecdesfonctionnalitsminimales);

tempsderponserapideauxinterruptions;

untempsrduitolesITsontinhibes;

grerlespartitionsdemmoire(pasdemmoirevirtuelles);

avoirlapossibilitdeverrouillerdanslammoiredesdonnesouducode;

Temps Rel

Caractristiques et performances
temporelles (2)
Afindesatisfairelesexigencesdetemps,lenoyaudoit:

disposerd'unehorlogetempsrel;

tredotd'unordonnanceurdetchesparpriorit;

disposerdesfonctionsdeblocagedetchessurundlaietde
dblocagelafindudlai(temporisation);

Engnral,lenoyauintgre:

lemultitche

lacommunicationetsynchronisationintertches.

Temps Rel

Caractristiques et performances
temporelles (3)

Lesperformancestemporellesd'unRTOSdpendentvidemmentdes
performancesduRTOSluimmemaisaussidelaplate-formematriellesur
lequelilfonctionneetdesprocduresdetestsetdemesures.
Onretrouvegnralementlesdeuxcritressuivants:
larponseuneinterruption

lacommutationdetche

D'autresfacteurstempsinfluentgalementsurlesperformancesdel'excutif:
tempsmaximumdemasquagedesITdansl'excutiondesprimitives

tempsderarmementd'uneinterruption

tempsd'excutiondecertainesprimitives.

Temps Rel

Caractristiques et performances
temporelles (4)
Ilconvientdenoterqu'unexcutiftempsrel
n'estpasseulementcaractrisparsonaspect
dterministemaisaussiparsesoutilsde
dveloppement,deslibrairies,delaportabilit,...

Ilfauttoutdemmeconsidrerqueles
performancesd'unSTRoud'uneapplication
tempsrelsontsouventinversement
proportionnellesleurconvivialitetleur
portabilit.

Temps Rel