picto Unix - Linux - Mac Os

Formation Linux Temps-réel et Xenomai

Référence

ULTX

Durée

3 JOURS

Tarif

1690 € HT

NIVEAU

Débutant

Cours à distance

Oui

Objectifs de la formation Linux Temps-réel et Xenomai

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 micro-noyaux hard-realtime (comme Xenomai), ce cours vous propose un cheminement logique et illustré dans le panorama des solutions temps-réel disponibles avec Linux. Tous les concepts théoriques présentés dans le cours font l'objet de mise en pratique par des exemples précis et des séances d'exercices complètes.

Pré-Requis

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 micro-noyaux hard-realtime (comme Xenomai), ce cours vous propose un cheminement logique et illustré dans le panorama des solutions temps-réel disponibles avec Linux. Tous les concepts théoriques présentés dans le cours font l'objet de mise en pratique par des exemples précis et des séances d'exercices complètes.

Public

Contenu du cours Linux Temps-réel et Xenomai

 

Ordonnancement sous Linux

IntroductionNoyau et espace utilisateur
Organisation du système
Répartition des ressources.
Multi-tâche sous LinuxProcessus 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é.

Temps-réel souple

Fifo et Round-robin Passage en temps-réel
Priorités
Configuration des noyaux 2.6.21 et postérieurs.
TimersCréation de timers Unix et Posix
Mesures temporelles.
Interruptions Principe
Organisation des handlers
Préemptibilité du noyau
Latences.
Problèmes temps-réel classiquesLancement 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.

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

Patch Linux-rtPrincipe
Patch d'Ingo Molnar et Thomas Gleixner
Compilation du noyau.
Préemption totaleEffets de l'option de préemptibilité totale
Activation à la compilation.
Threadeds interruptsConfiguration de la priorité des handlers d'interruptions. Instrumentation et mesuresOutils RT-test et cyclictest. Travaux pratiques Compilation d'un noyau après application du patch Linux-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.

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 XenomaiPatch 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 interruptionsHandler d'interruption dans l'espace utilisateur. 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.