Public visé
Administrateurs systèmes avec des compétences en développement, développeurs.
Prérequis
- Avoir suivi LUX-ADM (Linux Administration) et LUX-ADMA (Linux Administration avancée), ou connaissances équivalentes
- Compétence en programmation C au niveau système
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Développer des programmes de type driver/pilote
- Identifier les étapes du cycle de vie complet de développement
- Appliquer les meilleures pratiques de l’industrie
- Sélectionner les références et outils adaptés
- Implémenter la sécurité pour la gestion des accès et des ressources
Programme
Jour 1 : Introduction et bases des drivers
Introduction au noyau Linux
- Types de modules et historique
- Structure des drivers et gestion des E/S
- Appels système
Implémentation d’un driver
- Driver Hello-World
- Organisation des sources du noyau
- Procédures de compilation
Gestion des ressources matérielles
- Méthodes de communication
- Modèle de périphérique
- Gestion des interruptions et synchronisation
Jour 2 : Mémoire et frameworks
Allocation mémoire
- Mécanismes de mapping
Intégration de bibliothèques et frameworks
- Modes character/block device
- Intégration au système de fichiers
- Gestion du cache, traitement différé, DMA
Jour 3 : Réseau, USB et sécurité
Gestion réseau dans les drivers
Intégration USB et périphériques amovibles
Sécurité et maintenance
- Implémentation de la sécurité
- Routines de service avancées
- Logging, mises à jour firmware, gestion de l’alimentation
Modalités d’évaluation des acquis
- En cours de formation, par des travaux pratiques
- Et, en fin de formation, par un questionnaire d’auto-évaluation