Séminaire « Linux temps réel – Solutions et performances »

Le développement de systèmes soumis à des contraintes temporelles plus ou moins fortes en utilisant un environnement Linux nécessite une bonne compréhension des mécanismes d’ordonnancement, du multitâche et des extensions temps-réel. Ce séminaire s’adresse à des architectes-logiciel, chefs de projets ou managers d’équipe de développeurs, souhaitant une vision globale sur les mécanismes existants sous Linux, les solutions complémentaires et les performances que l’on peut en attendre.

Ce séminaire ne contient pas de travaux pratiques, mais de nombreuses démonstrations de mises en œuvre des solutions présentées.

Points-clés

Durée : 1 journée (8 heures)

Points-clés

Durée : 1 journée (8 heures)

Tarifs 2016 :

  • En nos locaux à Évry (91) : 600 €HT (déjeuners et collations offerts).
    Tarif dégressif si plusieurs inscrits de la même société à la même session.
  • Présentation dans vos locaux : nous consulter.

Intervenant : Christophe BLAESS spécialiste Linux embarqué et temps réel, auteur de plusieurs livres et articles sur le sujet

Plan : Téléchargez le plan détaillé au format PDF.

Thèmes abordés

  • Multitâche sous Linux : processus, threads, communication et synchronisation, mémoire virtuelle, ordonnancement et priorités, systèmes multiprocesseurs et multicœurs.
  • Temps réel souple natif de Linux : ordonnancements FIFO et RR, timers, interruptions, préemptibilité du kernel, problèmes algorithmiques temps réel.
  • Amélioration du temps réel : projet PREEMPT_RT, threaded irq, performances, distributions et temps réel.
  • Temps réel strict avec Linux : RTAI et Xenomai, mise en œuvre et aperçu de l’API, modes primaire et secondaire, drivers RTDM, performances.
  • Perspectives et conclusion : évolution du temps réel sous Linux, conclusion.

Plan détaillé

1ère séquence – MULTITÂCHES SOUS LINUX

  • Processus et threads : principes, organisation de la mémoire, partage de données.
  • Communications et synchronisation : IPC (Inter Processes Communications), files de messages, mémoire partagée, sémaphores, mutex, variables conditions.
  • Mémoire virtuelle : principe, MMU, projection, mécanisme d’allocation, surréservation.
  • Ordonnancement : ordonnanceurs O(1) et CFS, priorités dynamiques, changements de contextes.
  • Multiprocesseurs et multicœurs : affinités des tâches et migration, effets de cache mémoire.

2ème séquence – TEMPS RÉEL SOUPLE NATIF LINUX

  • Ordonnancements FIFO et RR : changement d’ordonnancement, priorités, mesure de performances.
  • Timers Posix : précision des mesures, fiabilité des timers, limites.
  • Interruptions : gestion des interruptions par le kernel Linux, handlers et routines de service, traitements différés (bottom-half), affinités aux cœurs.
  • Préemptibilité du noyau : principe, activation, effets.
  • Problèmes algorithmiques temps réel : synchronisation de démarrage, inversion de priorité, reprise de mutex, solutions.

PAUSE DÉJEUNER

3ème séquence – AMÉLIORATION DU TEMPS RÉEL

  • Projet PREEMPT_RT : origine, principe du patch, mise en œuvre.
  • Threaded interrupt : principe, priorité des interruptions, effets.
  • Distributions Linux et temps réel : Redhat MRG, Debian Linux_rt.

4ème séquence – TEMPS RÉEL STRICT AVEC LINUX

  • RTAI et Xenomai : principes, modèle et implémentation d’ADEOS.
  • Aperçu de l’API : création et gestion des tâches, communication et synchronisation, timers.
  • Modes primaire et secondaire : détection des changements de modes.
  • Drivers RTDM : principe, API, cohabitation avec les drivers Linux, interruptions.
  • Performance : précision des timers et latences des interruptions sous Xenomai.

5ème séquence – PERSPECTIVES ET CONCLUSION

  • Évolution du temps réel sous Linux : Preempt_RT et Linux Vanilla, Xenomai 3 ?
  • Discussion libre sur l’ensemble des thèmes abordés.