0% ont trouvé ce document utile (0 vote)
187 vues18 pages

Systèmes Embarqués et Temps Réel

Le document présente une introduction aux systèmes d'exploitation embarqués et temps réel, définissant un système embarqué comme un système autonome dédié à une tâche spécifique, souvent intégré dans un équipement. Il aborde les caractéristiques, l'architecture, les métriques, ainsi que les différences entre l'informatique classique et l'embarqué, en soulignant l'importance d'un système d'exploitation pour gérer les ressources et répondre aux contraintes temporelles. Enfin, il explique le concept de temps réel, les phases de conception d'un système temps réel, et les services de base d'un système d'exploitation temps réel (RTOS).

Transféré par

Sofiane SH
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)
187 vues18 pages

Systèmes Embarqués et Temps Réel

Le document présente une introduction aux systèmes d'exploitation embarqués et temps réel, définissant un système embarqué comme un système autonome dédié à une tâche spécifique, souvent intégré dans un équipement. Il aborde les caractéristiques, l'architecture, les métriques, ainsi que les différences entre l'informatique classique et l'embarqué, en soulignant l'importance d'un système d'exploitation pour gérer les ressources et répondre aux contraintes temporelles. Enfin, il explique le concept de temps réel, les phases de conception d'un système temps réel, et les services de base d'un système d'exploitation temps réel (RTOS).

Transféré par

Sofiane SH
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

2/26/2021

Cours Systèmes d’Exploitation embarqués et


Temps réel

Chapitre I : Introduction au Systèmes


d’Exploitation
Embarqués et Temps réel

2O20/2021 Ahmed Ghazi Blaiech 1

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Système Embarqué
Définition
• C’est un système électronique et informatique autonome qui est dédié à une tâche
particulière et contenu dans un système englobant. Il n’est « généralement » pas
programmable.
• Pas d’E/S standards.
• Il est constitué de parties matérielles et logicielles qui sont conçues
spécifiquement pour réaliser une fonction dédiée.
• Il n’est pas visible mais il est intégré dans un équipement doté d’une fonction, on
dit que alors c’est un système enfoui.

2O20/2021 2

1
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Système Embarqué
Caractéristiques principales d’un système embarqué
• Système principalement numérique
• Met généralement en œuvre un processeur
• Exécute une application logicielle dédiée précise (non pas une application grand
public)
• Il peut connecter un clavier standard et un écran standard.
• Autonomie élevée: Une fois en marche sur l’application, il n’est plus accessible
• Temps réel: Le temps de réponse de ces systèmes est aussi important que
l’exactitude des résultats

2O20/2021 3

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Système Embarqué
• Ressources limitées ( mémoire, vitesse processeur, énergie).
• Interaction avec son environnement (capteurs)
• Garantit la robustesse (stabilité de sa performance malgré des conditions
externes)
• Sécurisé
• Maintenable dans le temps: certains systèmes sont censés durer jusqu’à 20 ans
et plus
• Optimisé: généralement il utilise des logiciels de petite taille car plus c’est
grand, plus il y a de chance d’avoir des bugs.
• Tolérant aux fautes (continuer à fonctionner, éventuellement de manière réduite
au lieu de tomber complètement en panne, lorsque l'un de ses composants ne
fonctionne plus correctement).
2O20/2021 4

2
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Système Embarqué
Champs d’application
• Il existe 4 grandes classes:
1. Calcul généraliste:
 Similaire aux applications bureau mais embarqué (assistant personnel,
téléphone portable, etc.)
 Consoles de jeux vidéo, décodeur, appareils photographiques et caméras,

2. Contrôle de systèmes: Moteur, voiture, avion, processus chimique, nucléaire,
navigation, …
3. Traitement du signal: Compression vidéo, radar, flux de données ,etc.
4. Réseaux et communications: Transmission de données, routage, etc.

2O20/2021 5

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Système Embarqué
Architecture d’un système embarqué
• Un système embarqué peut être structuré autour d’un:
 Capteurs couplés à des convertisseurs analogique/numérique.
 Actionneurs (LED, etc) couplés à des convertisseurs
numérique/analogique.
 Calculateur (processeur embarqué et ses E/S).
 Mémoire ROM, pour les programmes à exécuter, et RAM, pour le
stockage temporaire des données.
• Possibilité d’avoir un/des FPGAs et/ouSystème
ASICs embarqué
pour jouer typique
le rôle de co-
processeurs (accélération matérielle) Logicielle

FPGA /
Mémoire
ASIC

détecteur
Conversion
A/N CPU Conversion
N/A
Actionneur

Interface Système
humaine Port de auxiliaire
diagnostic

Environnement
2O20/2021 extérieur 6

3
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Système Embarqué
Métriques des systèmes embarqués
• Puissance de calcul: sélection du processeur d’après la charge de travail à effectuer
et d’après la largeur des registres.
• Débit: le système peut avoir besoin de prendre en charge plusieurs données en
même temps.
• Temps de réponse: le système doit réagir vite.
• Mémoire: l’estimation la plus précise possible de l’utilisation mémoire.
• Consommation d’énergie: la conception matérielle et logicielle doit prendre en
compte la consommation de l’énergie.
• Nombre d’unités produites
• Durée de vie est un paramètre important lors de la décision des composants à
inclure.
• Testabilité et débogage
2O20/2021 7

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Système Embarqué
Logiciel/matériel embarqué
• Logiciel embarqué: programme/application utilisé dans un équipement et
complètement intégré dans ce dernier.
• Système embarqué: Matériel(s) + logiciel(s) (+OS)
• Deux types de systèmes embarqués:
1. Systèmes embarqués destinés à l’utilisateur (high‐end): utilisation d’un OS
(ex: Linux). Ex: routeurs, Assistant numérique personnel, etc.
2. Systèmes embarqués profondément enfouis: peu de fonctions, très petite
empreinte mémoire, généralement construit from scratch. Ex: Appareil photo
numérique, téléphones portables, etc.
• Dans les systèmes embarqués, les tâches sont des fonctionnalités limitées et elles
ne changent pas avec le temps
 Dimensionner au mieux et optimiser le système en fonction de ses besoins
2O20/2021 8

4
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Système Embarqué
Différence entre l’informatique et l’embarqué
Informatique Embarqué

• Processeur standard: • Processeur dédié:


 Multiples unités fonctionnelles  8-32-64 bits
(flottant, fixe, …)  Vitesse faible
 Fréquence élevée  Basse consommation
 Consommation électrique élevée • Processeur DSP très puissant
 Chaleur • Quelque MO de mémoire
• MMU (Mémoire virtuelle) • Real-Time Operating System
• OS • …
• …

2O20/2021 9

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
Un OS est-il obligatoire ?
 Absolument pas !
• Certains langages sont un OS à eux tout seul (Forth).
• Certains langages incluent des options de concurrence plus ou moins avancées
(Ada, Java).

Un OS est-il utile ?
 Absolument oui !
• La plupart des programmes embarqués ont des contraintes comparables qui
doivent être respectées (concurrence, temps-réel, périphériques, ..).
• Le nombre de tâche/services devient de plus en plus important
 Augmentation de complexité de ces systèmes
2O20/2021 10

5
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués

• L’OS va permettre aux développeurs de logiciel embarqué de bien connaître le


matériel
 Les applications doivent avoir un accès aux services de l’OS via des APIs
(réutilisabilité du code, interopérabilité, portabilité, maintenance aisée)
 Le temps de développement va devenir raisonnable, afin de limiter le temps de
mise sur le marché (time-to-market), et ainsi d’assurer le succès du produit.
• Les ressources matérielles doivent être gérées en assurant leurs partages entre les
différents utilisateurs.
• L’OS va offrir une interface homogène et générique mieux adaptée aux utilisateurs
• L’OS va donner la possibilité de bénéficier des mêmes avancées technologiques
que les applications classiques (TCP/IP, HTTP, etc.)

2O20/2021 11

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués

• L’OS garantit un environnement de développement plus performant


• L’OS offre un contrôle de processus sans (ou à faible) contrainte temporelle pour
les systèmes à temps partagé
 Garantir le partage équitable du temps et des ressources
• L’OS offre un contrôle de processus avec contrainte temps réel pour les systèmes
temps réel
 Garantir les temps de réponse

2O20/2021 12

6
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués

Temps
• Soit T est la durée entre le moment où une tâche doit débuter et le moment ou
elle débute réellement.
• La durée T est due:
 Aux propriétés temporelles des processeurs, des bus mémoire et d’autres
périphériques
 Aux propriétés des politiques d’ordonnancement
 Au changement de contexte
 …

2O20/2021 13

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
Qu’est ce que le temps réel
• Non seulement des résultats exacts
• Mais aussi fournis dans un temps donné, compatible avec l’évolution du
système
 L’échelle de temps dépend du système
 de quelques millisecondes pour un système de navigation aérienne
 à plusieurs minutes ou heures pour le contrôle d'un réacteur
chimique
• Dans un système temps réel, un résultat de calcul mathématiquement exact
mais arrivant au delà d'une échéance prédéfinie est un résultat faux

2O20/2021 14

7
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
• Un système temps réel est un système où le temps intervient dans la validité
du programme :
 Possibilité de réagir en un temps adapté aux événements externes.
 Possibilité de fonctionnement en continu sans réduire le débit du flot
d'informations traitées.
 Temps de calcul connus et modélisables pour permettre l'analyse de la
réactivité.
Temps partagé/Temps réel
• Dans les systèmes en temps partagé, l'exécution simultanée de plusieurs programmes
vise à répondre rapidement aux demandes de plusieurs utilisateurs en
communication directe avec le système.
• Un système d'exploitation temps réel doit garantir que toute opération se termine
dans un délai donné, en vue de garantir la réussite du dispositif dans lequel le
2O20/2021 15
système est utilisé.

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
Conception d’un système temps réel
• La conception d'un Système Temps Réel passe par plusieurs phases :
1. Identification de la tâche à réaliser et les contraintes temporelles qui
doivent être satisfaites
2. Ecriture du code
3. Mesure du temps d'exécution de chaque tâche et test de rendez-vous
horaire pour vérifier qu'aucune tâche ne dépassera son temps limite
pendant le fonctionnement du système.
 Avec les tests, il est possible de garantir qu'aucun temps limite ne
sera dépassé.
 Si les tests ne sont pas concluants, il est nécessaire de reprendre la
conception depuis le début, en choisissant un processeur plus rapide
ou en utilisant d'autres algorithmes pour implémenter les tâches.
2O20/2021 16

8
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
 Les tâches peuvent être identifiées par trois valeurs de temps :
 Période de la tâche
 Temps limite pour la tâche
 Temps de calcul maximal pour la tâche.
• Un système temps réel se divise en deux parties qui interagissent entre elles:
 Un procédé, en général industriel, muni de capteurs, envoie des mesures ou
déclenche des événements avec une occurrence périodique ou aléatoire.
 un système informatique, connecté au procédé. Ce système informatique
commande et contrôle de manière dynamique le comportement du procédé,
en respectant les contraintes de temps qui lui sont associées.
 Système est réactif

2O20/2021 17

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel

• Le système informatique se décompose lui-même en deux parties :


 l'application temps réel proprement dite construite par un ensemble de
tâches, qui sont activées de manière:
 périodique pour réaliser les prises de mesures
 apériodique pour prendre en compte les événements du procédé.
 Les services d'un noyau temps réel appelé généralement exécutif temps
réel pour respecter les contraintes temps réel des tâches et utiliser les
2O20/2021 18
ressources matérielles ou périphériques.

9
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
Exemple: tâche périodique

2O20/2021 19

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
RTOS
• C’est Système d’exploitation temps-réel (RTOS - Real Time Operating
Systems), qui se caractérise par la présence de contrainte temps réel
• Un RTOS est construit autour d’un noyau multitâche qui contrôle l’allocation de
labs du temps des tâches.
• Un labs du temps est la durée d’exécution d’une tâche donnée avant qu’elle sera
arrêtée et remplacée par une autre tâche.
• Ce processus est connu par le changement du contexte, qui se répète de façon
continue.
• Un RTOS fournit aussi les messages qui passent entre les tâches,
synchronisation des tâches et allocation de ressources partagées aux tâches

2O20/2021 20

10
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
Les services de bases d’un RTOS
1. Tâche:
 Processus ou thread: elle est définie par son identificateur, comporte un
contexte permettant à tout instant de connaître son état et ainsi de pouvoir
arrêter/redémarrer son exécution sur le processeur.
 Création de processus et de threads:
 Statique: toutes les tâches sont connues à l’avance il n’est pas possible
d’en créer pendant que le système tourne.
 Dynamique: appels système permettant de créer et détruire des tâches
à la volée (au fur et à mesure):
 Système plus flexible (qui peut s'adapter aux circonstances).
 Plus de complexité (allocation dynamique, gestion d’erreurs,…)

2O20/2021 21

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
2. Ordonnancement:
 Entité qui décide quelle tâche doit être exécutée par le processeur
 Faire un compromis entre la complexité d’implémentation, et délai
d’exécution
 RTOS supporte plusieurs politiques d’ordonnancement, le choix revient au
programmeur:
 FIFO avec priorité (statique)
 Date limite la plus proche (priorité dynamique)
 Serveur sporadique (perte de priorité́ en fonction du temps processeur
consommé).
 ...

2O20/2021 22

11
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
3. Interruptions:
et Temps réel
 Les interruptions permettent de prendre en compte des événements au
processeur. La prise en compte d'une interruption provoque l'arrêt du
programme en cours et l'exécution d'un programme associé à cette
interruption.
 Les interruptions permettent de signaler des requêtes asynchrones
 Gestion de l’aspect temps réel

2O20/2021 23

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
4. Boites aux lettres: Service permettant d'envoyer (send) et de recevoir
(receive) des messages. La tâche en attente d'une lettre est suspendue jusqu'à
l'arrivée de cette dernière.
5. Evénements : Le principe des événements est similaire à celui des boites aux
lettres, à la différence près qu'au lieu de recevoir ou d'envoyer des données, un
signal est émis ou attendu.
6. Gestion de la mémoire
 Allocation: Allouer à chaque tâche la mémoire dont elle a besoin
 Mapping: Faire la correspondance entre la mémoire physique et
l’adressage utilisé par les tâches.
 Protection: Etablir un ensemble de comportements à adopter lorsqu’une
tâche utilise de la mémoire non allouée.
2O20/2021 24

12
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
7. Sémaphores: Les sémaphores utilisés avec les systèmes temps réel servent à
partager une ressource entre plusieurs tâches (création d'une section critique).
Les sémaphores servent également à synchroniser plusieurs tâches entre elles.
8. Timers ou chronomètre: Ces services permettent de réaliser des traitements
cycliques ou de détecter des dépassements dans les réceptions de données par
exemple.
9. Support réseau
 Le standard POSIX (Portable Operating System Interface for Computing
Environments) socket :
 Accès à n’importe quel mode/protocole de communication en réseau

2O20/2021 25

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqués
et Temps réel
Classification des RTOS
1. Temps réel dur: Un système d’exploitation est dit Temps Réel dur s’il est
capable de répondre à des sollicitations ou événements (internes ou externes)
dans un temps maximum connu.
 Si ces événement sont traités très tardivement, ils provoquent des
conséquences catastrophiques.
2. Temps réel mou: Ces systèmes se rapprochent fortement des systèmes
d'exploitation classiques à temps partagé. Ils garantissent un temps moyen
d'exécution pour chaque tâche.
 Si ces événement sont traités très tardivement, ils ne provoquent pas
des conséquences catastrophiques.

2O20/2021 26

13
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqué
et Temps réel
Quelques célèbres RTOS
• VxWorks : produit généraliste et largement répandu
• PSOS édité par ISI (appli militaire, tél. portable).
• VRTX édité par Microtec (appli militaire, tél. portable).
• LynxOs (Unix temps réel).
• Windows CE/Microsoft (systèmes embarqués peu temps réel).
• OSEK-VDX (appli. automobile).
• RTEMS de Oar (appli. militaire).
• eCos de cygnus.
• RT-Linux.

2O20/2021 27

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqué
La norme POSIX
et Temps réel
• POSIX sont les initiales de "Portable Operating System Interface" (Interface
Portable pour Systèmes d'Exploitation).
• C'est un standard qui tend à obtenir la portabilité des logiciels aux niveau du
code source.
 un programme destiné à un système d'exploitation et respectant le
standard POSIX devrait se compiler et s'exécuter sous n'importe quel
système POSIX, même s'il provient d'un fabricant différent.
• POSIX est développé par l'IEEE (Institute of Electrical and Electronic
Engineering) et standardisé par ANSI (American National Standards Institute)
et ISO (International Standards Organisation).
• POSIX est basée sur UNIX. La majorité des systèmes d'exploitation tendent à
être compatibles POSIX aux travers de leurs différentes versions.
2O20/2021 28

14
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqué
et Temps réel
• Exemples: Chapitres Signification
POSIX 1003.1 Services de base (ex : f or k ,
exec, ect)
POSIX 1003.2 Commandes shell (ex : sh)
POSIX 1003.1b [GAL 95] Temps réel
POSIX 1003.1c [RIF 95] Threads
POSIX 1003.5 POSIX et Ada
etc

2O20/2021 29

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqué
et Temps réel
Les extensions POSIX Temps Réel
• Les extensions POSIX sont conçues pour améliorer application 1 application 2

le contrôle de la gestion des ressources de systèmes


d'exploitation appels systèmes
(POSIX)
• Chaque groupe se charge de concevoir un aspect du
Système

système d'exploitation. Par exemple, le groupe d'exploitation

nommé POSIX.4 (renommées 1003.1b depuis Drivers

1993) autorise l'usage d'un système d'exploitation Interruptions et Entrées/Sorties

dans des situations temps réel. M atériel (Hardware)

Figure 1 - Interface POSIX d'un système d'exploitation

2O20/2021 30

15
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Systèmes d’Exploitation Embarqué
et Temps réel
• Exemple de systèmes temps réel avec ou non la nome IEEE POSIX 1003.1

2O20/2021 31

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Démarrage sur un système embarqué

2O20/2021 32

16
2/26/2021

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Démarrage sur un système embarqué

2O20/2021 33

Introduction au Systèmes d’Exploitation


Embarqués et Temps réel
Bibliographie
• Jalil Boukhobza. Cours de Master de Système d’exploitation pour l’embarqué-
Introduction. 2015. Repéré à [Link]
[Link]/boukhobza/images/stories/Documents/Teachings2/SEE/CM/SEE_1_15
.pdf
• Cours systèmes Temps réel. 1999. Repéré à
[Link]
• François TOUCHARD. Introduction aux Systèmes Temps Réels. Année
universitaire 2015-16. Repéré à [Link]
[Link]/IRM4/[Link]

2O20/2021 34

17
2/26/2021

Cours Systèmes d’Exploitation embarqués et


Temps réel

Chapitre II : Les Tâches

2O20/2021 35

18

Vous aimerez peut-être aussi