Public
Développeurs Linux/Unix.
Pré-requis
Bonnes connaissances d'un système Linux/Unix et de la programmation en C.
Objectifs
- Explorer les outils utilisés dans le développement industriel sous l'environnement Linux.
- Acquérir une expertise dans les mécanismes d'ordonnancement, tant dans le temps partagé que dans le temps réel souple.
- Comprendre et appliquer le développement temps réel strict en utilisant des extensions telles que LinuxRT ou Xenomai.
- Maîtriser la personnalisation du processus de démarrage d'un système Linux.
Programme
Jour 1: Architecture
- Système informatique ordinaire et système embarqué.
- Contraintes d'un système embarqué.
- Architecture générale d'un système embarqué.
- Démarrage du système, étape de boot.
- Architecture du noyau Linux, emplacement des sources.
- Démarrage du système, phases de boot (code dépendant, commun).
- Travaux pratiques.
Jour 2: Développement industriel sous Linux
- Environnement Linux.
- Mode de fonctionnement : utilisateur, superviseur.
- Licences et implications pour le développement industriel.
- Outils de développement libres (compilateur, debugger, outils d'analyse, de trace et de tests).
- Les différents IDE (Integrated Development Environment) : Eclipse, etc.
- Méthodes de compilation avancées.
- La chaîne de compilation croisée.
- La gestion de mémoire.
- La détection des fuites mémoire.
- Le débordement de buffers.
- Travaux pratiques.
Jour 3: Ordonnancement temps partagé et réel souple
- Précision des mesures horaires et des attentes.
- Ordonnancement temps partagé. Les règles de la préemptibilité.
- Le fonctionnement général de l'ordonnanceur, priorités et partage du CPU.
- Quand le noyau devient-il préemptible ?
- Gestion du temps et précision des timers.
- Temps réel souple Posix.1b : principes.
- Configuration de l'ordonnancement des processus et des threads.
- Problèmes algorithmiques liés au temps réel.
- L'ordonnanceur Linux : noyaux 3.x.
- Travaux pratiques.
Jour 4: Temps réel strict - Extension Xenomai
- Principe du temps réel strict.
- Vue d'ensemble de l'extension Xenomai.
- Concepts de temps réel strict : principe des micro-noyaux Adeos, Xenomai, LinuxRT.
- Installation et API de Xenomai.
- Utilisation de l'extension LinuxRT.
- Ordonnancement temps réel strict en mode utilisateur.
- Interruptions (activation, désactivation...).
- Protection contre les interruptions.
- Gestion des communications.
- Présentation de l'API de Xenomai, installation de Xenomai.
- La gestion des tâches temps réel strict.
- Travaux pratiques.
