Fantom Tag

Formation - Mettre en oeuvre des systèmes temps réel sous Linux

Linux pour les applications critiques

  • Présentiel ou classe à distance
Dans vos locaux ou à distance
Durée
2 jours (14 heures)

Forfait intra - En savoir plus
4 420,00€ HT
Prix pour un groupe de 12 personnes max

Référence
IXU18
Formation à la demande
Cette thématique vous intéresse ?
Nos experts conçoivent votre formation
sur-mesure !
L'utilisation croissante de Linux dans des développements applicatifs à destination industrielle, notamment pour des systèmes temps réel, se justifie par la robustesse et la stabilité de ce système ainsi que par l'ouverture de son code source qui permet au développeur de personnaliser le noyau pour optimiser le fonctionnement de périphériques ou de protocoles spécifiques. En fonction des contraintes temporelles qui lui sont imposées, le développeur dispose de plusieurs possibilités pour construire une application sur Linux. Depuis les processus ordonnancés en temps-réel souple par le noyau standard jusqu'aux extensions s'appuyant sur des micronoyaux hard-realtime (comme Xenomai), cette formation de 2 jours propose un cheminement logique et illustré dans le panorama des solutions temps-réel disponibles avec Linux.
Lire la suite
Pour qui ?

A qui s'adresse cette formation ?

Pour qui

  • Toute personne intéressée par les systèmes temps réel sur Linux

Prérequis

  • Connaissance de Linux (utilisateur) et du langage C
Programme

Le programme

1 - Ordonnancement sous Linux

  • Introduction : noyau et espace utilisateur, organisation du système, répartition des ressources
  • Multi-tâche sous Linux : processus et threads Posix, synchronisation et communication entre tâches
  • Systèmes multi-processeurs symétriques (SMP) : multi-processeur, multi-coeur, hyperthreading, affinités et migrations des tâches
  • Temps-partagé : ordonnanceurs O(1) et CFS, groupement automatique des tâches, priorités, nice
  • Travaux pratiques : comparaison des temps de création et commutation des processus et des threads, vitesse de communication par file de messages, utilisation de la mémoire partagée, synchronisation par mutex et par variable condition, influence de la priorité temps-partagé

2 - Temps-réel souple

  • Fifo et Round-robin : passage en temps-réel, priorités, garde-fou
  • Timers : création de timers Unix et Posix, mesures temporelles
  • Interruptions : principe, organisation des handlers, préemptibilité du noyau, latences
  • Problèmes temps-réel classiques : lancement de tâches en parallèle, inversion de priorité, reprise de mutex
  • Travaux pratiques : création de processus et de threads temps-réel, mesure de précision des timers, effet de la préemptibilité du noyau sur la latence des interruptions, examen d'inversion de priorité, héritage de priorité, test de reprise de mutex

3 - Temps-réel amélioré avec Linux-rt

  • Patch PREEMPT_RT : principe, patch d'Ingo Molnar et Thomas Gleixner, compilation du noyau
  • Préemption totale : effets de l'option de préemptibilité totale, activation à la compilation
  • Threadeds interrupts : configuration de la priorité des handlers d'interruptions
  • Instrumentation et mesures : outils RT-test et cyclictest
  • Travaux pratiques : compilation d'un noyau après application du patch PREEMPT_RT, vérification de la préemptibilité, utilisation de cyclictest et comparaison avec le noyau standard, comparaison du comportement des exemples du chapitre précédent

4 - Extensions temps-réel strict pour Linux

  • Principes du temps-réel strict (Hard Realtime) : noyau standard et extensions RT-Linux, RTAI, Xenomai
  • Installation et validation de Xenomai : patch et bibliothèque utilisateur, compilation du noyau et des outils de test
  • Applications sous Xenomai : tâches Xenomai, timers et tâches périodiques, communication et synchronisation
  • Gestion des interruptions : Real Time Driver Model
  • Travaux pratiques : compilation et installation de Xenomai, création de tâches, synchronisation, vérification des priorités par rapport aux tâches du noyau standard, priorités par rapport au kernel Linux, test de précision des timers, mesure des latences d'interruption

5 - Conclusion

  • Discussions libres sur l'ensemble des thèmes abordés
  • Travaux pratiques : expérimentations libres suivant les demandes des participants

Evaluation

  • Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.
Objectifs

Les objectifs de la formation

  • Être capable de comprendre le fonctionnement bas-niveau de l'ordonnanceur Linux
  • Connaître les rôles, avantages et inconvénients de PREEMPT_RT et Xenomai
  • Savoir développer du code métier répondant à des contraintes temps réel
Points forts

Les points forts de la formation

  • De nombreux ateliers pratiques sont réalisés tout au long de la formation et permettent d'approfondir les concepts enseignés.
  • Expérimentations libres suivant les demandes des participants.

Qualité des formations

ib Cegos est certifié Iso 9001 et Qualiopi.

En savoir plus

Formation - Mettre en oeuvre des systèmes temps réel sous Linux