0% ont trouvé ce document utile (0 vote)
127 vues47 pages

CoursMRM STR

Ce document décrit les systèmes temps réel, y compris leurs domaines d'application et leurs caractéristiques clés comme le déterminisme, l'ordonnancement et les modes d'ordonnancement. Le document contient également des définitions de concepts clés liés aux systèmes temps réel.

Transféré par

med
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
127 vues47 pages

CoursMRM STR

Ce document décrit les systèmes temps réel, y compris leurs domaines d'application et leurs caractéristiques clés comme le déterminisme, l'ordonnancement et les modes d'ordonnancement. Le document contient également des définitions de concepts clés liés aux systèmes temps réel.

Transféré par

med
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ecole Polytechnique

Méditerranéenne privée de TUNIS

COURS SYSTÈMES
TEMPS RÉEL
Enseignant:
Mejri Mohamed Radhouane
Expert en Energie renouvelable, Enseignant universitaire -Maitre technologue
ISET Nabeul-

Mejri Med Radhouane 03/11/2019


1) Définition
Plan
2) Caractéristiques
3) Domaines d’application
4) Temps réel soft et hard
5) Temps de réponse
6) Déterminisme
7) Ordonnancement
8) Temps partagé
9) Modes d’ordonnancement
10) Préemption
11) Interruption
12) Multitâche
13) Taches périodiques et apériodiques
14) Horloge temps réel
15) Caractéristiques et performances temporelles
2
16) Exemples
03/11/2019
Mejri Med Radhouane
Définition

 1967 : introduction du multitâche avec la technique de partage


du temps (time-sharing).

 1970 :première apparition du terme temps réel (coïncide avec


l’apparition des microprocesseurs dans l’environnement
industriel).

 « Un système fonctionne en Temps Réel s’il est capable


d’absorber toutes les informations en entrée avant qu’elles
soient trop vielles pour l’intérêt qu’elles présentent et de
réagir à celles-ci suffisamment vite pour que cette réaction
est un sens » (ABRIAL – BOURGNE).

 « Un résultat juste, mais hors délai, est un résultat faux ».

03/11/20
Mejri Med Radhouane 3
19
Caractéristiques

 Pour commander un environnement industriel, il faudra respecter les


contraintes de temps.

 Le temps d’exécution d’une tâche doit être connu et non soumis à des
variations liées à la charge du système.

 De nos jours, un calculateur embarqué signifie implicitement calculateur


temps réel embarqué.

 Au niveau logiciel, on distingue : l’exécutif Temps Réel (le noyau) et


l’application Temps Réel (les tâches).

 Exemples d’OS Temps Réel :


LynxOs, OS9, MTR86, RT-RTAI LINUX, pSOS, VRTX, VxWorks, QNX, …
03/11/20
Mejri Med Radhouane 4
19
Domaines d’application
❖système de commande et de contrôle de processus industriels

❖système de contrôle aériens

❖systèmes embarqués dans les avions, navettes spatiales, etc …

❖gestion des stations spatiales

❖système de défense

❖surveillance médicale intensive

❖coordination des collectivités mixtes robots-humains

❖gestion automatique du trafic et du transport urbain

❖le multimédia

❖les systèmes de télécommunication

... etc ...


03/11/20
Mejri Med Radhouane 5
19
Temps réel soft et hard
Le terme « temps réel » peut prendre des significations très différentes
suivant les applications. Cependant, la littérature informatique définit
généralement uniquement deux types :

 les systèmes temps réel soft (mou) et hard (dur).

➢Un « système temps réel soft » se caractérise par la possibilité d’accomplir une tâche qui, en
moyenne, est exécutée selon un planning prédéterminé. L’affichage vidéo est un bon exemple,
où la perte occasionnelle de frames ne causera pas de dégradation perceptible du système,
délivrant une performance moyenne demeurant acceptable. Bien que des techniques comme
l’interpolation puissent être employées pour compenser les frames manquantes, le système
demeure « temps réel soft », car les données réelles sont manquantes et les frames issus de
l’interpolation sont des dérivés et non les données réelles.

➢L’incorporation de « temps réel hard » garantit le timing, ne peut pas manquer les délais
limites et doit avoir des temps de latence liés. Comme les deadlines ne sont jamais manqués,
un système temps réel hard ne peut pas utiliser le cas moyen des performances pour
compenser le pire. Un exemple de système temps réel hard est fourni par la gestion des
transducteurs d’un réacteur nucléaire, lequel doit utiliser un système de contrôle numérique
complexe, afin d’éviter les désastres…
03/11/20
Mejri Med Radhouane 6
19
Temps de réponse
 Pour fournir une réponse, un système doit reconnaître, traiter et sortir
un résultat. Le temps de réponse TR est le suivant :

TR = Tcalcul + TE/S

 L'apparition d'un phénomène implique l'exécution d'une action


effective au plus tard dans un délai TR appelé temps de réponse. Il
convient de considérer :

 les valeurs ou les ordres de grandeur de TR ;


 la possibilité ou non de choisir TR ;
 les répercussions sur le système du non respect de la contrainte TR.

03/11/20
Mejri Med Radhouane 7
19
Temps de réponse (suite)
 Il faut relativiser la notion temps réel car tous les systèmes n'ont
pas les mêmes exigences :

❖ le temps de réponse des STR peut aller de quelques dizaines de µs pour


les systèmes radars à quelques heures pour des systèmes de surveillance
de réactions chimiques (voire plusieurs années dans des systèmes utilisés
en astronomie).

 Il existe globalement deux situations :

❖ les systèmes transactionnels où l'on a une tolérance statistique (pour


le non respect des contraintes de temps).

❖ la commande de processus où les respect d'un délai de réponse TR doit


être garanti dans tous les cas sous peine de voir une dégradation ou un
effondrement du système.
03/11/20
Mejri Med Radhouane 8
19
Déterminisme
 Un système sera dit "déterministe" lorsque le temps maximal qu'il
mettra pour traiter une tâche quelconque sera connu et déterminé à
l'avance.

 Il convient de considérer les différents niveaux constituant le


système :

❖ au niveau processeur : le déterminisme est total.

❖ au niveau de l'exécutif : il sera déterministe si son temps de


réponse est indépendant de sa charge.

❖ au niveau du système : il sera déterministe s'il est capable de


répondre à une requête et la traiter en un temps maximum
indépendant de l'environnement extérieur.
03/11/20
Mejri Med Radhouane 9
19
Ordonnancement (scheduling)
 C’est une notion fondamentale des systèmes multitâches et des systèmes temps
réel (STR). Plusieurs tâches peuvent se trouver en concurrence pour obtenir l’UC.
La tâche de plus grande priorité est exécutée en premier. Les tâches restantes
seront sélectionnées à tour de rôle par l’ordonnanceur (scheduler).

 L’ordonnanceur (scheduler) doit :

➢ assurer la gestion des tâches de l’état bloqué à l’état prêt (ou éligible)
➢ effectuer le choix de la tâche élue (en exécution) parmi les tâches éligibles.

 Les critères de sélection de l’algorithme sont :

➢ garantir à chaque tâche un temps processeur ;


➢ respecter un ordre de priorité entre tâches ;
➢ respecter un temps de réponse donné ;
➢ permettre la préemption.
03/11/20
Mejri Med Radhouane 10
19
Temps partagé (time sharing)

 Le temps partagé consiste à découper le temps processeur en


tranches (time - slice) et à attribuer séquentiellement ces
tranches aux différentes tâches (multiplexage temporel du µP).

 Le découpage en tranches de temps est géré à partir d’un


circuit d’horloge fonctionnant en IT. Le choix de la durée
(quantum de temps Q ou time-slice) peut être délicat (valeur
courante pour un système de type Unix: 10 ms).

Mejri Med Radhouane 11 03/11/2019


Modes d’ordonnancement (scheduling)

 L’ordonnanceur d’un OS POSIX (LynxOs ou Linux RT) propose 3 modes de fonctionnement :

• SCHED_FIFO : lorsqu’un processus devient prêt, il est exécuté immédiatement. Le scheduler choisit
d’élire le processus possédant la plus grande priorité et l’exécute. Le scheduler n’interrompra
l’exécution que dans trois cas :
➢ un autre processus de type SCHED_FIFO possédant une priorité plus élevée passe à l’état prêt, il
est alors exécuté (préemption) ;
➢ le processus se suspend dans l’attente d’un événement ;
➢ le processus abandonne volontairement le temps processeur par un appel yield. Le processus passe
alors à l’état prêt et le scheduler prend la main.

• SCHED_RR (Round – Robin) : lorsqu’un processus devient prêt, il est exécuté immédiatement. Il
lui est attribué un quantum de temps. Lorsque le quantum expire, un processus de priorité
supérieure ou égale peut être choisi et exécuté. Le mode round – robin est aussi appelé priorité
tournante.

03/11/20
12
• SCHED_OTHER : ce mode est différent suivant les systèmes. Pour Lynx, un quantum de temps fixe
19

est défini par niveau de priorité.


Préemption
 La préemption est un des outils mis en œuvre pour assurer l'aspect déterministe d'un
système. La préemption se définit comme la réquisition du processeur pour
l'exécution d'une tâche et d'une seule pendant un temps déterminé.

 Un ordonnancement statique à base de priorités peut se dérouler de deux façons


distinctes :

❖ ordonnancement sans préemption : lorsque le processeur est inactif, la tâche prête


de plus haute priorité sera choisie pour être exécutée. Une fois choisie, elle s'exécute
jusqu'à ce qu'elle se termine ou rende le processeur.

❖ ordonnancement avec préemption : lorsque le processeur est inactif, la tâche prête


de plus haute priorité sera choisie pour être exécutée. A chaque instant cette tâche
peut être préemptée (remplacée) par n'importe quelle tâche plus prioritaire qui
serait devenue prête.
03/11/20
19

Mejri Med Radhouane


Interruption
 Rôle: prendre en compte des évènements externes au processeur (asynchrones)

 La prise en compte d'une interruption provoque l'arrêt du programme en cours et l'exécution


d'un programme associé à cette IT.

 La gestion des IT est une caractéristique essentielle d’un exécutif TR :


le masquage des interruptions est un autre moyen propre à assurer un certain
déterminisme et intervient au niveau processeur.

03/11/20
Mejri Med Radhouane 14
19
Multitâche
 Un exécutif temps réel reprend tout ce qui caractérise un système
multitâche :

 exécution concurrente de tâches ;

 synchronisation et communication entre tâches, ... etc ...

 La qualification "temps réel" n'implique pas forcément l'ajout de


fonctionnalités logicielles supplémentaires par rapport à un système
multitâche, mais plutôt l'adoption de stratégies différentes : le
déterminisme et la préemption.

03/11/20
Mejri Med Radhouane 15
19
Tâches périodiques et apériodiques

 Une tâche périodique peut donc être exécutée une fois par
période T et elle peut être synchrone avec une horloge temps
réel. Une tâche périodique sera hors-délai si sa périodicité
n'est pas respectée.

 Une tâche apériodique est en général associée à un


événement asynchrone (une interruption) et doit être traitée
dans un délai maximum à ne pas dépasser.

03/11/20
Mejri Med Radhouane 16
19
Horloge temps réel
 L'horloge temps réel est utilisée précisément pour :

 déclencher périodiquement des tâches quand celles-ci ont été mises en place ;
 gérer le temps partagé entre les tâches (round robin) ;
 connaître le temps écoulé depuis une certaine action ;
 gérer les timeout des primitives RT.

 A chaque TIC de l'horloge, l'ordonnanceur est invoqué, il appelle une tâche horloge de plus
haute priorité qui effectue les actions suivantes :

 décrémentation d'une unité le compteur pour chaque tâche suspendue sur un timeout
 mise en file des tâches prêtes si le compteur de la tâche est arrivée à zéro
 lancement des tâches attachées à un mode périodiques

 La notion de temps est généralement exprimée en TIC d'horloge


03/11/20
(éventuellement en ns).
Mejri Med Radhouane 17
19
Caractéristiques et performances
temporelles (1)
 Pour réduire les surcharges de fonctionnement et afin d'accélérer le système, le noyau d'un
STR doit avoir les caractéristiques suivantes :

 une rapide commutation de contexte ;

 une petite taille (avec des fonctionnalités minimales) ;

 temps de réponse rapide aux interruptions ;

 un temps réduit où les IT sont inhibées ;

 gérer les partitions de mémoire (pas de mémoire virtuelles) ;

 avoir la possibilité de verrouiller dans la mémoire des données ou du code ;


03/11/20
Mejri Med Radhouane 18
19
Caractéristiques et performances
temporelles (2)

 Afin de satisfaire les exigences de temps, le noyau doit :

 disposer d'une horloge temps réel ;

 être doté d'un ordonnanceur de tâches par priorité ;

 disposer des fonctions de blocage de tâches sur un délai et de déblocage à la fin du délai
(temporisation) ;

 En général, le noyau intègre :

 le multitâche

 la communication et synchronisation inter tâches.


03/11/20
Mejri Med Radhouane 19
19
Caractéristiques et performances
temporelles (3)
 Les performances temporelles d'un RTOS dépendent évidemment des performances du
RTOS lui même mais aussi de la plate-forme matérielle sur lequel il fonctionne et des
procédures de tests et de mesures.

 On retrouve généralement les deux critères suivants :

 la réponse à une interruption

 la commutation de tâche

 D'autres facteurs temps influent également sur les performances de l'exécutif :

 temps maximum de masquage des IT dans l'exécution des primitives

 temps de réarmement d'une interruption


03/11/20
Mejri Med Radhouane 20
19

 temps d'exécution de certaines primitives.


Caractéristiques et performances
temporelles (4)

 Il convient de noter qu'un exécutif temps réel n'est pas seulement


caractérisé par son aspect déterministe mais aussi par ses outils de
développement, des librairies, de la portabilité, ...

 Il faut tout de même considérer que les performances d'un STR ou


d'une application temps réel sont souvent inversement
proportionnelles à leur convivialité et à leur portabilité.

03/11/20
Mejri Med Radhouane 21
19
La conception de
logiciel temps
réel

Mejri Med Radhouane 22


Définition
 Un système qui surveille et gère son environnement. Le temps
de réaction est critique. Il est liée en général avec certain
matériel:
 Capteurs

 Actionneurs

 Le SRT comme un système de stimulus - réaction


 Stimulus périodique

 Stimulus apériodique

Mejri Med Radhouane 23


Exigences vers
l’architecture
 Particularités
 Changer les processus traitant les stimulus
 Chaque stimulus peut exiger un temps différent de réponse – la boucle simple n’est pas
approprié
 Une architecture est des processus coopératifs gérés par un composant temps réel
 Utilisation d’un langage bas niveau comme C mais il ne support pas les processus
concurrents ( on doit appeler composants du système d’exploitation)
 Utilisation de Java – problèmes:
 On ne peut pas spécifier le temps d’exécution des fils
 Le ramasse-miettes ne peut pas être contrôlé
 On ne peut pas voir les tailles des files associées aux ressources partagés.
 Le JVM varie est le comportement du programme sera différent aux ordinateurs différents.
 On ne peut pas accéder le matériel directement.

Mejri Med Radhouane 24


Modèle d’un système
temps réel
Sensor Sensor Sensor Sensor Sensor Sensor

Real-time
control system

Actua tor Actua tor Actua tor Actua tor

Mejri Med Radhouane 25


Conception du système

 Identification des stimulus and les réponses correspondantes

 Les contraintes de temps

 Choisir la plateforme de système

 Matériel

 Logiciel

 Agréger les stimulus et les réponses en processus concurrents

Mejri Med Radhouane 26


Conception du système

 Pour chaque pair concevoir l’algorithme pour les calculs nécessaires

 Concevoir le système de planification des processus

 Intégrer avec un système d’exploitation temps réel

 Les besoins non fonctionnels sont plus importants – notamment les

contraintes de temps.

Mejri Med Radhouane 27


Le processus de gestion
de stimuli/réponses

Sensor Actuator

Stim ulus Response

Sensor Da ta Actua tor


control processor control

Mejri Med Radhouane 28


Modèles des systèmes
temps réel

 Modèle d’états
 Utile

 Il ne donne pas la structure


 Il ne modèle qu’une fonction du système à
la fois

Mejri Med Radhouane 29


Modèles des systèmes temps réel
 Diagramme des états – pompe d’essence
Système d’exploitation
temps réel
 Objectif
 Composants
 Horloge
 Gestionnaire d'interruption
 Planificateur
 Gestionnaire des ressources
 Dispatcher
 Composants permanents
 Gestionnaire de configuration
 Fault Manager

Mejri Med Radhouane 31


Composants de SE temps réel
Scheduling
inf orma tion

R eal-time Interrupt
Scheduler
clock handler

Pr ocess resource
requir ements

Pr ocesses A v ailable
R esource
awaiting r esour ce
manager
r esour ces list
R ead y R eleased
pr ocesses resour ces

R ead y Pr ocessor
Despa tcher
list list

Mejri Med Radhouane 32


Ex ecuting pr ocess
Gestion des processus
 Priorité des processus

 Niveau d’interruption

 Niveau des processus périodiques

 Autres

 Desservir les interruptions

 Le contrôle est transmis à une location prédéfinie où se trouve une instruction vers
la procédure traitante.

 Tous les autre interruption sont désactivées. Puis le contrôle est retourné vers le
processus interrompu.

 Le service doit être court et rapide.

Mejri Med Radhouane 33


Gestion des processus
 Gestion des processus périodiques
 Propriétés
 Période
 Durée d’exécution et délais
 Priorité

 L’horloge génère les interruptions pour la planification des processus


périodiques
 Le gestionnaire choisi le processus qui est prêt à exécuter

Mejri Med Radhouane 34


Gestion des processus
Scheduler R esour ce manager Despatcher

Choose pr ocess Alloca te memory Start execution on an


for e xecution and pr ocessor available pr ocessor

 Commutation des processus


 Planificateur
 Gestionnaire des ressources
 Dispatcher
 Niveaux de priorité
 Niveau d’interruption (obligatoire)
 Niveau d’horloge (obligatoire)
 Autres niveaux (optionnels) (du fond et c.)

Mejri Med Radhouane 35


Gestion des processus

 Stratégies de planification
 Planification non préemptive – le processus ne peut être interrompu que par la
fin ou une opération entrée/sortie
 Planification préemptive – interruption par un processus plus prioritaire
 Algorithmes
 Round-robin
 Taux monotone
 Le délais le plus court

Mejri Med Radhouane 36


Les systèmes de surveillance et de contrôle
 Architecture générique

Testing
process
P (A1) A1
S1 P (S1)
Monitoring
processes P (A2) A2
S2 P (S2)

P (A1) A3
Control
S3 P (S1) processes

P (A4) A4

Control panel
processes

Mejri Med Radhouane 37


Système d'alarme contre le vol
 Besoins
 Quand il y a un voleur le système doit allumer les lampes et
appeler la police
 Il doit marcher avec un source d’électricité autonome
 Capteurs
 Capteur de mouvement, de choc, d’ouverture de fenêtre et de
porte.
 Capteur de voltage
 Actionneurs
 Appel à la police
 Allumer les lampes
 Brancher une sirène
 Commuter à un source autonome quand le courrant est coupé

Mejri Med Radhouane 38


Système d'alarme contre le vol
 Conception du système
 Stimulus
 Panne de courant
 Alarme d’intrusion

Mejri Med Radhouane 39


Système d'alarme contre le vol
Stimulus/réponse Timing requirements

Panne de courant Le passage à une alimentation de secours doit être achevée dans un
délai de 50 ms.

Alarme de porte Chaque alarme de porte doit être interrogé deux fois par seconde.

Alarme de fenêtre Chaque alarme de fenêtre doit être interrogé deux fois par seconde

Capteur de mouvement Chaque détecteur de mouvement doit être interrogé deux fois par seconde.

Alarme sonore L'alarme sonore doit être allumé à moins de 1 / 2 seconde d'une
alarme est soulevée par un capteur.

Lumières s'allument Les lumières devraient être allumés dans les 1 / 2 seconde d'une
alarme est soulevée par un capteur.

Communications L'appel à la police devrait commencer dans les 2 secondes d'une


alarme est soulevée par un capteur

Synthétiseur de voix Un message synthétisé devrait être disponible dans les 4 secondes
d'une alarme est soulevée par un capteur.

Mejri Med Radhouane 40


Processus du Système d'alarme
400 Hz 60 Hz 1 00 Hz

Mo vement Door sensor W indo w sensor


detector pr ocess pr ocess pr ocess

Detector sta tus Sensor sta tus Sensor sta tus

5 60 Hz Alar m system

Building monitor Comm unica tion


pr ocess pr ocess

P o w er failur e
R oom n umber
interrupt Building monitor

P o w er s witch Alar m system


Aler t messa ge
pr ocess pr ocess

R oom n umber
Alar m system Alar m system Alar m system

R oom n umber

Audib le alar m Lighting contr ol Voice synthesis er


pr ocess pr ocess pr ocess

Mejri Med Radhouane 41


Système de contrôle
 Système de contrôle de la température
500 Hz

Sensor
process

Sensor
500 Hz values

Ther mosta t
process

Switch command
500 Hz Room n umber Ther mosta t process

Hea ter contr ol Furnace


process control process
Mejri Med Radhouane 42
Systèmes d'acquisition de
données
 Objectif
 Collecter des données pour un analyse et traitement
postérieur
 Propriétés
 La collection et beaucoup plus rapide que le traitement
 On doit organiser une file d’attente pour les données –
tampon circulaire

Mejri Med Radhouane 43


Systèmes d'acquisition de données
 Architecture
Sensors (each da
ta f lo w is a sensor v alue)

Sensor Sensor
s1 identifier and identifier and
v alue v alue
Sensor Sensor da ta Pr ocess
s2 Displa y
pr ocess buf fer da ta

s3

Sensor Sensor
s4
identifier and identifier and
value value
Sensor Sensor da ta Pr ocess
s5
pr ocess b uffer da ta

s6

Mejri Med Radhouane 44


Collection de données d’un réacteur
nucléaire

 Objectif – suivre le flux de neutrons d’un réacteur


 Architecture
 Un tampon circulaire
 Deux processus concurrents
 Écrire
 Lire
 Les deux processus ne doivent accéder le même élément

Mejri Med Radhouane 45


Le flux de neutrons

Neutron flux sensors

Sensor
identifier and Processed
flux v alue flux le vel

A-D Flux da ta Flux Operator


conver tor buf fer processing display

Mejri Med Radhouane 46


Le flux de neutrons
 Tampon circulaire

Pr oducer
process

Consumer
process

Mejri Med Radhouane 47

Vous aimerez peut-être aussi