Formation: Programmation noyau et drivers en C sur Linux
Prix:
1480 €
Code cours:
LC011
Public:
Tout développeur souhaitant gérer les modules du noyau, ou en programmer de nouveaux.
Objectifs:
Comprendre le fonctionnement des modules dans le noyau, et savoir concevoir des drivers.
Connaissances préalables nécessaires:
Connaissance du système d'exploitation Linux, maîtrise de la programmation en langage C.
Architecture d'un système Unix.
Mode user, mode kernel. Logs.
Notion de pilotes/drivers.
Architecture d'un système Linux.
Notion de modules.
Les distributions: desktop, embarquées (openWRT).
Gestion des modules: ajout, suppression, paramétrage.
Travaux pratiques :
ajout d'un module simple sur une distribution standard.
Présentation de la buzybox pour les distributions embarquées.
Compilation d'un noyau pur officiel.
Description de la chaîne de compilation.
Options de compilations.
Mise en place du nouveau noyau.
Travaux pratiques :
Modification d'un module pilote.
Ajout au noyau précédent.
Création d'un module de base.
Principes fondamentaux : timers et alarmes, journalisation,
échanges de données kernel-mode/user-mode,
interactions dynamiques avec un module,
passage de paramètres,
gestion des tâches task_struct,
allocation mémoire kmalloc,
verrouillage du noyau en cas d'accès concurrents (lock_kernel).