Programmation temps réel avec POSIX 1003.1b, Linux, xenomai et FreeRTOS

Objectifs

De nombreux systèmes d'exploitation UNIX et RTOS (temps réel) respectent le standard de l'IEEE POSIX 1003.1b. Cette formation vous permettra de mettre en œuvre les interfaces de ce standard sur système Linux et sur un RTOS afin de mieux comprendre les extensions temps réel portables pour la programmation sur les systèmes UNIX et RTOS.

Matériel

Les travaux pratiques du stage Linux embarqué sont réalisés sur:

  • Ordinateur portable ou station de travail sous Debian (RedHat ou Fedora sur demande(*)).

(*) Attention ces modifications peuvent entrainer une modification des themes abordés.

Participants

Développeur confronté à la mise en oeuvre d'applications temps réel désireux d'utiliser une interface de programmation temps réel standard soit sous Linux avec ou sans extensions Xenomai ou sous un autre système de type RTOS comme RTEMS, QNX...

Pré-requis

La connaissance du développement de programmes en C est obligatoire. La connaissance basique de Linux et éventuellement des exécutifs temps réel est recommandée afin comprendre le process de développement des applications temps réel.

Programme

GENERALITES SUR LE TEMPS REEL ET LES SYSTEMES D'EXPLOITATION

  • rappels sur les définitions du temps réel
  • La notion de déterminisme, de "schedulability", les OS temps partagés et temps réel. Les normes de l'IEEE et de l'ARINC. le DO-178b.
  • Extensions temps réel POSIX 1003.1b
  • Semaphores, Process Memory Locking, Memory Mapped Files and Shared Memory Objects, Priority Scheduling, Realtime Signal Extension, Timers, Interprocess Communication, Synchronized Input and Output, Asynchronous Input and Output

MISE EN OEUVRE DE POSIX 1003.1B AVEC LINUX

  • Sections critiques et sémaphores
  • Implémentation des sémaphores POSIX sous Linux, gestion de l'inversion de priorité sous POSIX et sous Linux. Cas spécifique des futex sous Linux.
  • Le scheduling temps réel sous Linux
  • Les politiques de scheduling, les priorités, étude de cas. Gestion de l'affinité aux processeurs. cas particulier du SCHED_RR pour la gestion de l'inversion de priorité.
  • La gestion de la mémoire pour le temps réel
  • Analyse de la gestion mémoire et mise en oeuvre sous Linux du "memory lock" du "mapping" de fichiers et de la mémoire partagée de type POSIX.
  • Les IPC POSIX
  • Rappels sur le point de vue déterministe des IPC POSIX, mémoire partagée, messages et sémaphores, sous Linux et comparaisons avec les IPC SV.
  • Les signaux POSIX
  • Analyse de l'implémentation des signaux sous Linux, mise en oeuvre des extensions POSIX temps réel avec les signaux temps réel de Linux.
  • Timers POSIX et haute résolution
  • Gestion de la date et des timers POSIX, extensions haute résolution de la gestion du temps sous Linux.
  • Entrées sorties asynchrones
  • Analyse des implémentation POSIX et Native sous Linux. Mise en oeuvre de la librairie libaio.

MISE EN OEUVRE AVEC UN RTOS

  • Extensions Linux: Xenomai
  • Présentation de Xenomai. Utilisation de l'API POSIX de Xenomai. Les extensions temps réel non portables de xenomai. Mise en oeuvre avec une application de mesure de latence sous Xenomai.
  • FreeRTOS
  • Présentation de FreeRTOS. Mise en oeuvre d'une application de mesure de latence sous FreeRTOS.

LES LIMITATIONS DE LA NORME

  • Les contraintes, le standard ARIN-653
  • Ce qu'apportent les standards ARINC 654 et 653 et l'interface APEX pour la mise en oeuvre d'applications temps réel dans des milieux à risque, avionique, automotiv. le guide DO-178b pour l'avionique. Exemples avec AIR (ARINC Interface sur RTEMS) et l'hyperviseur Xtratum.
  • Les schedulers adaptés au temps réel
  • Sporadic Scheduler, Adaptative Partition Scheduler, Earliest Deadline First scheduler, Constant Bandwidth Scheduler. Mise en oeuvre de différents schedulers sous RTEMS et Linux.
Informations

Durée et prix du stage

Prochaines sessions:

Autres sessions:    
Contact:
S'inscrire:

Calendrier 2019

Consultez le calendrier complet de nos formations pour le premier semestre 2019.

Repas du midi et collations compris dans le prix.

Linux Embarqué
La formation linux embarqué est effectuée sur cartes beaglebone.
La carte est offerte aux stagiaires en fin de stage.


Site construit par M.N.I.S. en utilisant Bootstrap licence Apache V2 et Glyphicons Free licence CC BY 3.0
janvier 2015