Vous êtes sur la page 1sur 16

Informatique embarquée

Introduction aux systèmes


d’exploitation temps réels
Sommaire


Enjeux et problématique des OS temps réel

Ordonnancement

Services (messagerie, partage de
ressources, timers)

Gestion des interruptions

Implantation matérielle (FreeRTOS)

09/2018 Informatique embarquée - OS temps réel 2


Enjeux et problématique des OS temps réel
Exemple

On considère un smartphone qui exécute :



Une communication avec les antennes

Une tâche de guidage GPS

Une tâche d’écoute de musique

Une réception sporadique d’appel téléphonique

09/2018 Informatique embarquée - OS temps réel 3


Enjeux et problématique des OS temps réel

Pourquoi un OS ?
– Faciliter la programmation Multitâche
Enjeux – Faciliter le travail collaboratif (une équipe par tâche)

Pourquoi un OS temps réel ?
– Respecter les échéances de tâches critiques
– Garantir le déterminisme fonctionnel et temporel
– Exemple : automobile, aviation, machines de production...


Comment garantir les échéances de tâches
Problématiques indépendantes ?

Comment gérer les ressources communes ?

On se limite dans ce cours


09/2018 à un OS
Informatique pour -microcontrôleur
embarquée OS temps réel monoprocesseur4
Enjeux et problématique des OS temps réel
On distingue

temps réel strict ou dur (les échéances doivent être respectées)

temps réel souple ou mou (on peut tolérer un retard limité)

Un système est dit critique si son fonctionnement met en jeu la vie de personnes.
Exemple : voiture, avion, refroidissement d’une centrale nucléaire…

Dans un système critiques, certaines échéances de tâches sont critiques (la boucle
de régulation ABS du freinage), d’autres non (la mesure de la température du
moteur).

Les systèmes non critiques (équipements réseau par exemple) peuvent souvent se
suffirent de temps réel souple.

En plus des performances, dans l’embarqué importance est donnée au poids, à la


taille, au coût, à la consommation des microcontrôleurs.
09/2018 Informatique embarquée - OS temps réel 5
Les services d’un OS temps réel

Software Tâche 1 Tâche 2 Tâche ... Tâche N

Middleware Système d’exploitation Ordonnancement des tâches


temps réel Partages de ressources, de mémoire
Messageries
Services de timers

Périph.
Périph. de
Hardware Mémoire CPU Interruptions d’entrées
comm
sorties

Microcontrôleur
09/2018 Informatique embarquée - OS temps réel 6
Le marché des OS temps réels

Un OS utilise les fonctions de la CPU. Il est qualifié pour certaines cibles.

Exemples :
– VxWorks, Lynx, QNX, normalisés POSIX (une normalisation IEEE des
communications entre composants logiciels (services temps réels
notamment)
– Linux-rt (Un patch linux rendant notamment le noyau préemptible)
– Xenomai : un noyau temps réel parallèle à Linux
Extrait de la
documentation
Extrait de la documentation Vx-Works Xenomai

09/2018 Informatique embarquée - OS temps réel 7


Le marché des OS temps réels
Xenomai utilise une architecture à deux noyaux, le noyau LINUX ‚ pratiquement sans
modification et un noyau temps réel. Adeos gère les deux noyaux, ordonnance
LINUX‚ et prend le contrôle des interruptions

Les réseaux aussi doivent être


temps réels : réseaux
maîtres/esclaves (I2C, SPI),
certains réseaux CSMA/CA
(CAN), certains réseaux ethernet
(OpenAlliance)
09/2018 Informatique embarquée - OS temps réel 8
Le marché des OS temps réels

Résultat d’un
sondage effectué
auprès de 1234
ingénieurs dans le
domaine des objets
connectés.

09/2018 Informatique embarquée - OS temps réel 9


Free RTOS
OS temps réel avec une faible empreinte mémoire (entre 4 et 9 Ko), porté sur 33 architectures
(dont ARM Cortex M3, M4...)

En 2017, Amazon a racheté le projet et repris l’équipe de développeurs

L'ordonnancement est un système de file d'attente basé sur les Sémaphores et les Mutex. Il
est basé sur le modèle Round-Robin avec gestion des priorités.

Services :
Sémaphores binaires et compteurs,
Timer soft
Synchronisation entre tâches (Queue)
Vérification de débordement de pile
Gestion des interruptions

Des versions avec support (et payantes) et des versions certifiées existent

09/2018 Informatique embarquée - OS temps réel 10


FreeRTOS
Les fichiers et fonctions

16/02/21 Informatique embarquée - OS temps réel 11


FreeRTOS
La gestion de la mémoire
Allocation statique,
Possibilité d’une avant le premier
allocation statique lancement de
ou dynamique l’ordonnanceur

Allocation
dynamique

09/2018 Informatique embarquée - OS temps réel 12


FreeRTOS
La gestion des tâches
Une tâche FreeRTOS est une fonction C,
avec parfois quelques paramètres, en
boucle infinie

Profondeur de pile de la tâche


Priorité de la tâche, peut
être modifiée par le
programme utilisateur

09/2018 Informatique embarquée - OS temps réel 13


FreeRTOS
La gestion des tâches

L’ordonnanceur choisit la tâche de plus forte


priorité.
Si 2 tâches ont la plus forte priorité, l’ordonnanceur
alterne à chaque tick de son horloge (10 ms par
exemple).

Une tâche peut être bloquée en attendant :


- un message
- une ressource
- un délai

Une tâche de fond (idle_task) peut avoir des


fonctions non prioritaires (monitoring par exemple)
ou mettre le microcontrôleur en économie
d’énergie.

09/2018 Informatique embarquée - OS temps réel 14


Vocabulaire

Tâche Task
Système d’exploitation Operating system
Pile Stack
Tas Heap
Sémaphore Semaphore
Temps réel dur Hard Real Time
Temps réel souple Soft Real Time
Ordonnanceur Scheduler

09/2018 Informatique embarquée - OS temps réel 15


Bibliographie

Techniques de l’ingénieur, S8050, Systèmes d’exploitation temps réel – Principes, par Yvon
TRINQUET, Jean-Pierre ELLOY, 10 juin 2010

Techniques de l’ingénieur, S8055, Ordonnancement temps réel, Ordonnancement
Monoprocesseur par Emmanuel GROLLEAU, Michaël RICHARD, Pascal RICHARD, Frédéric
RIDOUARD, 10 juin 2013

Techniques de l’ingénieur, S8052, Systèmes d'exploitation temps réel – Exemples d'exécutifs
Industriels, par Yvon TRINQUET, Jean-Pierre ELLOY, 10 septembre 2010

Systèmes temps réel 1, ordonnancement, réseaux et qualité de service, sous la direction de
Nicolas Navet, Hermès 2006

http://www.FreeRTOS.org

09/2018 Informatique embarquée - OS temps réel 16

Vous aimerez peut-être aussi