Vous êtes sur la page 1sur 42

Systèmes temps réel et

critiques
(INE2)
Pr. Safae DAHMANI
@: dahmani@inpt.ac.ma
Bureau 111

07/04/2022 Pr. S.DAHMANI, INE2, Filière SESNum 1


Introduction générale
❏ Définitions
❏ Classification des systèmes temps réel
❏ Systèmes critiques et temps réel
❏ Caractéristiques des systèmes critiques et temps réel
❏ Cycle de vie d’un système temps réel

07/04/2022 Pr. S.DAHMANI, INE2, Filière SESNum 2


Introduction générale
● Système temps réel : est un système informatique ou ensemble de sous-systèmes destiné à
contrôler un procédé extérieur qui lui est connecté et qui est soumis à des contraintes
temporelles.

Entrées
Systèmes de
Système physique
contrôle-commande
Sorties

3
Introduction générale
● Système temps réel : est un système informatique ou ensemble de sous-systèmes destiné à
contrôler un procédé extérieur qui lui est connecté et qui est soumis à des contraintes
temporelles.

Entrées
Systèmes de
Système physique
contrôle-commande
Sorties

4
Introduction générale
● Un systèmes temps réel est soumis à des contraintes temporelles établissant l'échéance à respecter dans
le traitement de l’information/réaction.

5
Introduction générale
● Un systèmes temps réel est soumis à des contraintes temporelles établissant l'échéance à respecter dans
le traitement de l’information/réaction.
● Un systeme temps reel n’est pas un systèmes qui va vite mais un systèmes qui va suffisamment vite
par rapport à la dynamique du processus contrôlé.

Systeme temps reel Temps de réponse

Déclenchement Airbag 30-150 ms

Application multimédia 25 images/s

Contrôle de production (comprenant des Quelques heures


réactions chimiques)

6
Introduction générale
● Classement des systèmes temps réel selon le respect des contraintes temporelles :
Réponse
Ex: Jeux en ligne.
○ Temps réel mou : Temps
Echéance

7
Introduction générale
● Classement des systèmes temps réel selon le respect des contraintes temporelles :
Réponse
Ex: Jeux en ligne.
○ Temps réel mou : Temps
Echéance

Réponse
Ex: Système de réservation.
○ Temps réel ferme : Invalide
Temps
Echéance

8
Introduction générale
● Classement des systèmes temps réel selon le respect des contraintes temporelles :
Réponse
Ex: Jeux en ligne.
○ Temps réel mou : Temps
Echéance

Réponse
Ex: Système de réservation.
○ Temps réel ferme : Invalide
Temps
Echéance

Réponse
○ Temps réel dur : Ex: Contrôle d’une centrale nucléaire.

Echéance
X
Temps 9
Introduction générale
● Classement des systèmes temps réel selon le respect des contraintes temporelles

Réponse
○ Temps réel dur : Ex: Contrôle d’une centrale nucléaire.

Echéance
X
Temps

Un système critique : si une défaillance temporelle peut entraîner des


conséquences graves. (Ex. Système embarqué avionique)

10
Introduction générale
● Systèmes multi-critiques : les sous-systèmes composant un système critique peuvent avoir
des degrés de criticité différents.
○ <<Par exemple en avionique civile, la DO-178C caractérise les sous-systèmes par un niveau de
criticité appelé DAL (Design Assurance Level), allant de niveau A (Ex. : commande de vol),
catastrophique en cas de défaillance, à niveau E (Ex. : divertissement en vol), sans effet sur la
sécurité>>. “Systèmes temps réels embarqués”, Dunod.

● Il est important de garantir que :


○ Les tâches temps réel critiques doivent absolument respecter les échéances prévues.
○ Les tâches temps réel non-critiques peuvent répondre avec un certain retard.
○ Les autres tâches répondront au mieux.
11
Introduction générale
Sécurité, Tolérance aux fautes Fiabilité
(ex. Anticipation des faiblesses (ex. Méthodes formelles)
matérielles/logicielles )
Disponibilité
Sûreté (ex. Redondance)
(ex. Tests)
Prédictibilité
Comportements Déterminisme
concurrents temporel
(ex. Vent et gravité)
(ex. Ordonnancement,
WCET)

12
Introduction générale
● Définitions:
○ Fiabilité: Capacité d’un système à réaliser et maintenir ses fonctionnalités dans des
conditions normales d’utilisation. En temps réel, ceci se traduit par le respect des
contraintes temporelles mais aussi de la tolérance aux fautes.

○ Tolérance aux fautes: Capacité à rester fiable même si certaines pannes arrivent.

○ Prédictibilité: Les performances de l’application doivent être définies dans tous les cas
possibles de façon à assurer le respect des contraintes de temps. On parle de pire cas.

○ Déterminisme : Il n’y a aucune incertitude sur le comportement du système; pour une


même entrée (même contexte) on obtient la même sortie (même comportement).

13
Introduction générale
● Utilisation des méthodes, outils certifiés afin de minimiser les anomalies et gérer au mieux les
contraintes du système :
○ Validation temporelle et logique
○ Manipulation du temps
○ Maintenance très difficile/coûteuse voire impossible
○ Accidents graves (dégât humains/financiers )

14
Introduction générale
● Utilisation des méthodes, outils certifiés afin de minimiser les anomalies et gérer au mieux les
contraintes du système :
○ Validation temporelle et logique
○ Manipulation du temps
○ Maintenance très difficile/coûteuse voire impossible
○ Accidents graves (dégât humains/financiers )

Génie Logiciel

15
Introduction générale

Spécifications Méthodes, modèles et outils pour maîtriser la qualité Validation


des produits, leur coût et le respect des délais.

Tests unitaires et
Conception
Test d'intégration

Codage/
Réalisation
16
Introduction générale
Quoi faire ? Recette $$!

Spécifications Validation

Comment faire ? Solution:


Architectures + Modules Détection des anomalies

Tests unitaires et
Conception
Test d'intégration
Environnement de développement et
d'exécution

Codage/
Réalisation
17
Introduction générale
Ex. SART Recette $$!
- Dictionnaire de données
Spécifications - Graphes de flots de données Validation
- Diagrammes état-transition
Ex: Test modules, Rational Test RealTime
Ex. UML, Petri nets (IBM)

- Architecture logicielle Tests unitaires et


Conception
- Composants et relations entre Test d'intégration
composants
- Vérification logique/temporelle
Langage: C Posix, JAVA-RT, ADA.
Exécutif : Linux-RT, VRTX, ..

Codage/
Réalisation
18
Architecture matérielle
• Calculateurs
• Réseaux de communication
• Capteurs/Actionneurs

07/04/2022 Pr. S.DAHMANI, INE2, Filière SESNum 19


Architecture matérielle
● Système temps réel simplifié :

CPU
Capteurs

Systèmes de
contrôle-commande
CPU

Actionneurs
Calculateur

20
Architecture matérielle
● Calculateur : constitué des ressources de calcul qui permettent
d’exécuter le programme (CPU). L’exécution de chaque instruction du
programme doit répondre à la contrainte temps réel du systèmes
(Nombre de cycles). Un CPU peut être constitué d’un ou plusieurs unités
de calcul (cœurs ) ce qui permet d’exécuter différentes instructions
simultanément (réduire le temps de réponse). Toutefois, l’exécution de
l’application peut être pénalisée par plusieurs facteurs, tels que:
○ Temps d’accès mémoire (cache hiérarchique)
○ Gestion des interruptions matérielles (Evénements I/O )

21
Architecture matérielle
● Réseau de communication: Assure la communication inter-CPUs et
entre CPUs et leurs périphériques connectés. Dans un contexte temps
réel ce réseau est responsable de garantir le délai maximal de
transmission d’un message.
○ Utilisation de réseaux déterministes

22
Architecture matérielle
● Réseaux déterministes :
○ Inter-Integrated Circuit bus (I²C)  standardisé par Philips. Bus série 2 fils simple pour
interconnexion de périphériques. Utilisé pour capteurs de température, information sur
les moniteurs, ASICS, ..

○ Controller Area Network (CAN)  Communication temps-réel entre micro-contrôleurs


et capteurs/actionneurs. Standardisé par l’automobile et l’avionique.

○ Avionic Full Duplex (AFDX) (réseau Ethernet redondant et fiabilisé)  Avionique civile

○ PCI bus parallèle  32 ou 64 bits standardisé par Intel. Nombreuses variantes : PCI-
Express, Compact-PCI, Mini-PCI,...

○ NoC  Communication inter-cœurs (Multicores)


23
Architecture matérielle
● Capteurs/Actionneurs :

○ Capteur: permet de lire une mesure physique (Température, pression, vitesse, ..).

○ Actionneur: permet de contrôler un élément physique externe (Moteur, Valve, ..).

■ Interface numérique ou analogique: traduit la mesure physique en mesure électrique.

■ Interface de communication par bus: permet au capteur de transmettre des trames de


mesures binaires.

24
Architecture matérielle
● Capteurs/Actionneurs :

○ Les entrées du système passent soit par :


■ Lecture/interprétation du signal électrique en signal données binaires

■ Déclenchement d’interruptions dans le CPU et appel à la routine de gestion


d’interruptions du système.

25
Système d’exploitation TR (RTOS)
• Notions de base
• Primitives OS

07/04/2022 Pr. S.DAHMANI, INE2, Filière SESNum 26


Système d’exploitation Temps Réel (RTOS)
● Définitions :

Processus (Tâche): Un système est une collection de tâches s’exécutant de manière


autonome. Un processus est une programme (sous-programme) séquentiel qui a son propre
fil de contrôle à l’exécution. Il est capable de communiquer avec d’autres processus (tâche)
du même programme. Chaque processus a un espace mémoire virtuelle dédié.
Les processus peuvent être :
• Indépendants
• En concurrence  Synchronisation
• En coopération  Communications

27
Système d’exploitation Temps Réel (RTOS)
● Définitions:

Processus (Tâche): Un système est une collection de tâches s’exécutant de manière


autonome. Un processus est une programme (sous-programme) séquentiel qui a son propre
fil de contrôle à l’exécution. Il est capable de communiquer avec d’autres processus (tâche)
du même programme. Chaque processus a un espace mémoire virtuelle dédié.
Les processus peuvent être :
• Indépendants
• En concurrence  Synchronisation
• En coopération  Communications

Thread (Fil d’exécution): Un Thread (souvent assimilé à un processus léger) est


une sous-tâche inclue dans un processus. Les threads d’un même processus
partagent la même mémoire virtuelle.
28
Système d’exploitation Temps Réel (RTOS)
● Définitions:

Atomicité: Une tâche est dite atomique par rapport à une autre si:
• Elle ne peut être interrompu au profit de cette autre tâche
• Elle ne peut être exécutée en parallèle de cette autre tâche
• L’autre tâche ne peut observer les états intermédiaires de la tâche atomique

29
Système d’exploitation Temps Réel (RTOS)
● Définitions:

Atomicité: Une tâche est dite atomique par rapport à une autre si:
• Elle ne peut être interrompu au profit de cette autre tâche
• Elle ne peut être exécutée en parallèle de cette autre tâche
• L’autre tâche ne peut observer les états intermédiaires de la tâche atomique

Section critique: Une section critique est une portion de code dans laquelle une tâche
utilise exclusivement des ressources qui peuvent être utilisées par d’autres threads, mais pas
au même moment.

30
Système d’exploitation Temps Réel (RTOS)

Couche Logiciel

Applications

Système d’exploitation

Processeur/carte Mère

Périphériques Externes
Couche Matérielle 31
Système d’exploitation Temps Réel (RTOS)
OS généraliste OS temps réel

• Facilité d’utilisation • Simplicité


• Flexibilité • Déterminisme
Priorités • Vitesse moyenne d’exécution • Minimiser la latence
fonctionnelles

• Espace disque important • Espace disque limité


• Large utilisation de la mémoire • Utilisation mémoire réduite
Utilisation des ressources

• Windows, Unix • RTLinux


• VxWorks
Exemples • Plusieurs standards (POSIX,
ADA, ..)
32
Système d’exploitation Temps Réel (RTOS)

● Quelles primitives pour un OS temps réel ?

33
Système d’exploitation Temps Réel (RTOS)
● Opérations sur les processus:

○ Création: Allocation et initialisation d’un descripteur (Identifiant, localisation


mémoire pour stocker le contexte d’exécution en cas d’interruption) plus une
copie en mémoire du programme à exécuter.

○ Destruction : Libération des ressources associés plus la génération d’un


événement
Running
Ready Fin

Initiation
Blocked

34
Destruction
Système d’exploitation Temps Réel (RTOS)
● Opérations sur les processus:

○ Gestion de temps: Il s’agit principalement de primitive de mise en attente. Ca


consiste à placer le processus en attente (i.e Blocked) durant un temps défini et
le remettre à l’état prêt (i.e Ready) dès que ce temps s’écoule.

Running
Ready Fin

Initiation
Blocked

35
Destruction
Système d’exploitation Temps Réel (RTOS)
● Opérations sur les processus:

○ Gestion de temps: Ce mécanisme utilise une horloge programmable (Timer)


pour générer une interruption matérielle afin de réactiver le processus mis en
attente. Un processus bloqué n’utilise aucune ressource de calcul.

Running
Ready Fin

Initiation
Blocked

36
Destruction
Système d’exploitation Temps Réel (RTOS)
● Opérations sur les processus:

○ Synchronisation: Plusieurs processus peuvent avoir accès à des mêmes


ressources (ex. zone mémoire partagée). Il est donc nécessaire de fournir un
mécanisme de synchronisation afin de garantir une exclusion mutuelle de
l’accès à cette ressource.
■ Ex. Sémaphores
Running
Ready Fin

Initiation
Blocked

37
Destruction
Système d’exploitation Temps Réel (RTOS)
● Opérations sur les processus:

○ Communication par message : La majorité des OS proposent le modèle


Producteur/Consommateur afin de garantir les communication entre processus.

Running
Ready Fin

Initiation
Blocked

38
Destruction
Système d’exploitation Temps Réel (RTOS)
● Modèle à Producteur/Consommateur :

○ Producteur: génère un message dans le buffer de communication et


éventuellement passe en état bloqué si celui la est plein.

○ Consommateur: passe en état bloqué en attente d’une nouvelle donnée si le


buffer est vide.
Running
Ready Fin

Initiation
Blocked

39
Destruction
Système d’exploitation Temps Réel (RTOS)
● Opérations sur les processus:

○ Lecture entrées/sorties: Pour des opérations comme l’accès à la mémoire


principale, la lecture d’une entrée clavier, L’attente d’une trame sur le réseau, le
processus passe en «Blocked». Le noyau prend en charge l’interruption
matérielle reçu et passe le processus à l’état « Ready » à la fin de la
l’entrée/sortie.
Running
Ready Fin

Initiation
Blocked

40
Destruction
Résumé & conclusion
Terminologies & Architecture RTOS
classification matérielle

●Contrainte temporelle: ● Compute


● Notions de processus/tâche
○ TR mou ● Network
● Machine à état
○ TR ferme ● Storage
○ TR dur (critique) ● Primitives de contrôle

41
Questions

07/04/2022 Pr. S.DAHMANI, INE2, Filière SESNum 42

Vous aimerez peut-être aussi