8/18/2019 Ch1 ITR Introduction
1/31
Faculté Polytechnique
Chapitre 1 : Introduction à l’ITR
Informatique Temps-
Réel
[email protected] Manneback
8/18/2019 Ch1 ITR Introduction
2/31
Université de Mons
Définition d’un système temps-réel
Un système temps réel est un système dans lequel
l'exactitude des applications ne dépend pas seulement
de l'exactitude des résultats mais aussi du temps
auquel ce résultat est produit.
Si les contraintes temporelles de l'application ne sont
pas respectées, on parle de défaillance du système. Ilest donc essentiel de garantir le respect des contraintes
temporelles du système.
2Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
3/31
Université de Mons
Systèmes temps-réel (STR)
En informatique industrielle, on parle d'un système
temps réel lorsque ce système informatique contrôle
ou pilote un procédé à une vitesse adaptée à
l'évolution du procédé contrôlé. Interaction avec l’environnement
Capteurs, senseurs (acquisition de mesures)
Actuateurs (régulation, pilotage)
Système généralement dédicacé (bien souvent
embarqué), où l’informatique logicielle n’est qu’un
composant.
3Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
4/31
Université de Mons
Caractéristiques du Temps-Réel
Un système temps-réel reçoit et émet des signaux de et vers le
procédé à contrôler. Ces signaux peuvent être périodiques ou
non.
Le système doit normalement réagir avant un délai ou une
date fixée.
Aucun évènement ne doit en principe être raté par le système.
Ne pas réagir à temps est considéré comme une défaillance.Un système temps-réel est souvent critique et doit donc être
fiable à 100% (duplication matérielle, vérifications formelles,
rigueur dans la conception et le développement, etc).
4Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
5/31
Université de Mons
Systèmes temps-réelLes systèmes temps réel sont très souvent
embarqués dans un équipement spécialisé, leur
but étant de contrôler l’équipement et/ou son
environnement
5Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
6/31
Université de Mons
Exemple de STR
Système de contrôle de débit
6Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
7/31Université de Mons
STR != Système embarqué
Un système embarqué est un système électronique,
piloté par un logiciel, qui est complètement intégré au
système qu'il contrôle.
Un système embarqué a des contraintes fortes decoût, taille, poids, consommation énergétique, etc
Un système embarqué est bien souvent temps-réel
(mais pas nécessairement).
Plus de 95% des processeurs produits dans le monde
sont dédiés aux systèmes embarqués.
7Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
8/31Université de Mons
Liens entre systèmes embarqués
et temps réel
8Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
9/31Université de Mons
Quelques exemples de systèmes T.R.
1. Commande et contrôle de chaînes de production2. Guidage de systèmes mobiles (robotique…)
3. Systèmes embarqués TR (avionique, ferroviaire, auto, etc)
4. Surveillance de réactions ou phénomènes physiques
(nucléaire, chimie,…)5. Contrôle de malades et assistance d'opérations médicales
6. Systèmes de communication et multimédia
7. Systèmes de conduite d'expériences scientifiques
8. Systèmes de traitement du signal
9Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
10/31Université de Mons
Les systèmes T.R. par rapport aux
autres systèmes informatiques
Système TransformationnelActivité de calcul, qui lit ses données et ses entrées lors de son démarrage,les traite, puis fournit ses sorties et meurt.
Système Interactif
Système en interaction forte avec son environnement. La réaction dusystème est déterminée par les événements reçus et par l'état courant. Lerythme de l'interaction est déterminé par le système et non parl'environnement.
Système Réactif ou Temps RéelSystème en interaction permanente avec son environnement. La réactiondu système est déterminée par les évènements reçus et par l'état courant.Le rythme de l'interaction est déterminé par l'environnement et non par lesystème.
10Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
11/31Université de Mons
Temps réel strict ou souple
Si une information arrivant en retard peut
provoquer une erreur fatale au système, on parlerade temps réel strict (hard real time).
Sinon, on parlera de temps réel souple, ou lâche(soft real time).
Dans un système donné, des tâches temps réelstrictes et souples peuvent cohabiter,éventuellement avec des tâches sans contraintestemporelles
Quels sont les STR stricts, souples ou imprécisés, desexemples précédents (slide 9)?
11Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
12/31Université de Mons
Principe général d’un STR
Quelles que soient la nature et la complexité du
système, on décompose un système temps réel
en :
un système contrôlé
un système de contrôle
capteurs
Environne-ment
actuateurs
Systèmeinformatique
Interface
Interface
12Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
13/31Université de Mons
Principe général d’un STR (2)
Le système contrôlé = environnement équipé d'une instrumentation qui réalise
l'interface avec le système de contrôle.
Le système de contrôle = système informatique (hardware et software) dont la
mission est d'agir sur l’environnement en fonction de son état, de manière à lecontrôler.
capteurs
Environnement
actuateurs
Système
informatique
Interface
Interface
Système de contrôle
Objet de ce cours
Système contrôlé
13Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
14/31Université de Mons
Système
de contrôle
Environnementdonnées
mesures
évènements
commandes
•
un automate programmable• un système électronique
• un système informatique (hardware et logiciel)
Peut être réalisé par
Le système de contrôle peut être varié, suivant les
circonstances et nécessités
Objet de ce cours
14Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
15/31Université de Mons
Un STR est un système multitâche
Une tâche est une activité à réaliser (généralement sous
contraintes) pour obtenir un sous-résultat du système global :
mesure, acquisition, calcul, contrôle, etc
Un STR est une collection de tâches généralement
interdépendantes s’exécutant concurremment.
Le code d’une tâche doit correspondre à un bloc modulaire
d’instructions (programme, fonction, procédure).
Chaque tâche a normalement son propre flot de contrôle à
l’exécution (processus ou thread, le thread étant un processus
léger).
Chaque tâche peut communiquer et partager des ressources
avec d’autres tâches du système.
15Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
16/31Université de Mons
La partie logicielle d'une application temps réel est un
ensemble de tâches synchronisées, communicantes et
partageant des ressources critiques.
Un rôle essentiel d’un STR est donc de gérer l'enchaînement
et la concurrence des exécutions des tâches, en optimisant
l'occupation des unités de traitement: c’est la fonction de
l’ordonnanceur.
L’ordonnanceur
16Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
17/31Université de Mons
Organisation générale d’un OS TR
Tâche
Ordonnanceur
Services deBase
Noyau
Noyau d’un système d’exploitation
(kernel en anglais, de l'allemand kern):
partie fondamentale de l’OS qui gère les
ressources de l’ordinateur et permet aux
différents composants - matériels et
logiciels - de communiquer entre eux
Le noyau fournit des mécanismes
d’abstraction du matériel, notamment de
la mémoire, du (ou des) processeur(s), et
des échanges d’informations entre
logiciels et périphériques matériels.
17Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
Tâches
8/18/2019 Ch1 ITR Introduction
18/31Université de Mons
Conception de RTOS(Real Time Operating System)
2 approches:
Extension d’OS généraux par des fonctionnalités TR
(notamment ordonnanceurs adaptés, timers)
Ex.: Linux-rt , RTX Real-Time Extension for Windows
OS spécialisés
Noyaux rapides, petits et adaptés
Ex.: QNX, VxWORKS
Avantages pour les 2 approches
extensions OS: compatibilité avec l’existant, terrain connu
OS spécialisés: performance, adaptation aux besoins
18Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
http://fr.wikipedia.org/wiki/Linux-rthttp://www.qnx.com/http://www.windriver.com/products/vxworks/http://www.windriver.com/products/vxworks/http://www.qnx.com/http://fr.wikipedia.org/wiki/Linux-rt
8/18/2019 Ch1 ITR Introduction
19/31Université de Mons
Extensions d’OS généralistes
Linux-rt
Hardware
RT-Task RT-Task
RT-Linux
RT-Scheduler
Linuxdriver
scheduler
Task Task Task
interrupts
interrupts
interrupts
I/O
19Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
20/31Université de Mons
RT-OS spécialisés
Hardware
RT Kerneldrivers
POSIX.4 scheduler
Task Task Task
I/O, interrupts
RT-TaskRT-Task
20Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
21/31Université de Mons
Tant que VRAI faire Acquisition des entrées (données capteurs, mesures…) [Read…]
Calcul des ordres à envoyer [Compute…]
Émission des ordres [Write…]
modes de fonctionnement :
cyclique ou cadencé (time driven) : itération toutes les x sévènementiel (event driven): attente d’un événement en début
d’itération
mixte : cyclique pouvant être perturbé par des évènements
Fonctionnement simplifié des STR: boucle infinie
22Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
22/31Université de Mons
Fonctionnement cadencé
23Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
scrutation périodique d'une mémoire d'entrée ( polling)
A chaque top d'horloge faire Lecture de la mémoire des entrées Calcul des ordres à envoyer au procédé Émission des ordres
Système rigide
=> Oblige à prévoir toutes les réactions du système dans la boucleprincipale
=>Nécessite souvent d’imbriquer des boucles de fréquences diverses, cequi complique les choses
- Cadence rythmée sur le traitement le plus lent
- Convient pour les systèmes de contrôles très simples
+ Pas de noyau temps réel à intégrer
8/18/2019 Ch1 ITR Introduction
23/31Université de Mons
Activation du système à chaque événement ( notion
d'interruption)
while (1) {
Attendre les évènements signalés parinterruption
A chaque interruption faire {
- Lecture de l'information arrivée
- Activation du traitement correspondant
- Émission des ordres issus du traitement}
}
Fonctionnement évènementiel
24Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
24/31
Université de Mons
Que faire si une interruption survient alors que le système est en
train de traiter une interruption précédente ?
Notion de priorité des interruptions
Notion de tâche associée à une ou plusieurs interruptions,éventuellement non interruptibles
Mécanisme de préemption (réquisition du processeur) et de
reprise de tâche au retour du « vol » du CPU
Gestion de l'exécution concurrente des tâches (ordonnancement),suivant une stratégie adaptée aux contraintes du STR
Un système temps réel est un système multitâche conduit par les
évènements (event driven)
Fonctionnement évènementiel (2)
25Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
25/31
Université de Mons
Caractéristiques nécessaires à un système T.R.
Fiabilité (systèmes critiques)
Prédictibilité (pour garantir le respect des contraintestemporelles)
Préemptibilité des tâches (nécessaire pour la
prédictibilité) Gestion évoluée des communications inter-tâches
Prise en compte du non-déterminisme d’ordred’exécution des tâches. On considère souvent le
«worst-case » (cas au pire) pour déterminer un tempsmaximal de réaction.
26Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
26/31
Université de Mons
Fiabilité
Un système T.R. est souvent un système critique (devant êtrevalide à presque 100%)
approche-qualité par l’utilisation systématique deméthodologies rigoureuses pour la conception, réalisation,validation, évolution et maintenance des systèmes logiciels
Méthodes de spécification (formelles ou semi-formelles)
Utilisant des langages comme B, Z
Méthodes de conception et de développement UML – Marte
SART – DARTS (chapitre 2)
27Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
27/31
Université de Mons
Prédictibilité
Prédictibilité : qualité d’un système qui, à partir de la connaissance de son
état présent, permet d’assurer la connaissance de son comportement dans le
futur et garantit la maîtrise de son fonctionnement en cas de défaillance
potentielle
La prédictibilité doit permettre de déterminer à l'avance si un système va
respecter ses contraintes temporelles. Elle nécessite La connaissance des
paramètres liés aux calculs des activités et des défaillances potentielles
Assurer qu’il n’y aura pas de défaillance
Pouvoir estimer le temps de réponse au pire (Worst Case Excution Time, WCET )
28Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
28/31
Université de Mons
Préemptibilité
Préemptibilité: réquisition possible des ressources par une tâche
Une tâche doit pouvoir être interrompue par une tâche de plus
haute priorité
retrait possible des ressources (processeur, mémoire) d’une tâche
pour les affecter à une autre tâche (reprise ultérieure quand les
circonstances le permettront)
29Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
29/31
Université de Mons
Communications inter-tâches
Les tâches concourent à contrôler/commander un
environnement
Elles interagissent entre elles (émission/réception designaux de synchronisation + informations)
Besoin de:
Prise en compte des délais de communication (latence et
transfert)
Assurer l’intégrité et la cohérence des données
synchroniser
30Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
30/31
Université de Mons
Non-déterminisme
Le problème du non-déterminisme: imprévisibilité de l’ordre
d’exécution de tâches dû à des séquences d ’actions
interrompues par des évènements externes asynchrones,
arrivant à des instants et dans un ordre imprévisibles.
Cette imprévisibilité rend complexe la maîtrise du
comportement du système (et donc le respect des contraintestemporelles).
Ordonnancer strictement pour réduire le non-déterminisme
31Prof. P. Manneback - Service INFO - FPMs, 2015-16 - cours ITR, chapitre 1
8/18/2019 Ch1 ITR Introduction
31/31
Conclusion de l’introduction Informatique temps-réel = développement logiciel d’un système de
contrôle-commande.
Le STR est un composant d’un système plus complet, comprenantl’environnement à contrôler, et ses capteurs/actuateurs.
Nécessite l’analyse des besoins (ce que doit faire le STR), et la définitiond’une architecture logicielle (sur base des fonctionnalités) et matérielle (surbase des contraintes).
Nécessite l’ordonnancement, la synchronisation, la communication entre les
tâches suivant les exigences temporelles de l’environnement à contrôler
A la fois des notions d’automatique, d’électronique, d’informatique et dutraitement du signal… Belle matière pour les Elecs, mais aussi pour les IG etInfo!
Cfr Thalès Alstom Multitel TCTS et d’autres acteurs locaux!