Aller au contenu principal
Gust Training
Formation Unix, Linux et macOS : maîtrisez les systèmes d'exploitation professionnels

Formation Ecriture de drivers et programmation noyau Linux

Description de la formation linux drivers Le support pour les périphériques est assuré sous Linux par des pilotes (drivers) dont le code se

Durée :
4 Jours
Niveau :
Avancé
Modalités :
Présentiel · En ligne · Hybride

Objectifs de la formation

Concrètement cette formation vous apprendra à:

  • Maîtriser le développement de pilotes de périphériques (drivers) robustes et adaptés
  • Connaitre les outils de développement noyau
  • Maitriser les aspects avancés d’un driver de périphérique
  • Savoir gérer la mémoire
  • Connaitre les Périphériques réseau et USB

Prérequis

Connaissance de Linux (utilisateur) et bonne familiarité avec le langage C.

Programme

Programmer pour le noyau Linux

Noyau Linux et modules

  • modèle, version, licence GPL, développement du kernel, appels-système, modules.

Outils de développement noyau

  • sources, compilation noyau et modules, écriture et compilation de modules, cross-compilation, messages, dépendances. Travaux

API du noyau

  • chaînes, blocs mémoire, fonctions numériques et conversions, éléments temporels et actions différées, préemptibilité du noyau.

du noyau

  • tâches et processus current, espaces d’adressage, dialogue avec /proc.

Écriture d’un driver Linux

Écriture d’un pilote de périphérique

  • principes, numéros majeurs et mineurs, classes de périphériques, enregistrement du driver, fonctions de lecture et écriture

. Appels-systèmes et I/O

  • Paramétrage par ioctl. Synchronisation d’appels-système par mutex. Accès matériel. Ports d’entrée-sorties. GPIO sur carte embarqué

Gestion d’interruptions

  • contextes d’exécution, installation d’un handler, traitement différé (tasklet, workqueue et threaded interrupts).

interactions entre appels-système et interruptions

  • protection des variables globales (spinlock), attentes d’événements (waitqueue), appels-système bloquants.

Aspects avancés d’un driver de périphérique

Entrées-sorties avancées

  • multiplexage d’entrée-sorties (select et poll), principes des transferts de données par DMA.

Gestion de la mémoire

  • allocation et libération de mémoire (kmalloc, vmalloc, get_free_pages, kmem_cache), projections (mmap).

blocs et VFS

  • principes, enregistrement, disque générique, file de requêtes, partitionnement, sous-système Block, i/o scheduler, Virtual File System.

périphériques PCI Express

  • principe, détection et enregistrement de driver, Base Address Registres, interruptions classiques et MSI.

Périphériques réseau et USB

Périphériques réseau

  • interfaces bas-niveau et protocoles réseau, périphérique net_device, enregistrement, activation, émission et réception de paquets

Communications réseau

  • Statistiques d’utilisation d’interface, principes de la pile IP, communications entre protocoles et interface bas-niveau .

Périphériques USB

  • Organisation du sous-système USB de Linux, implémentation d’un driver Interrupt, type de end points, Communication avec les URB.

Aspects avancés

  • écritures successives rapides, déconnexions intempestives, accès concurrents, Exemples de drivers Bulk, Control et Isochrones.

Description de la formation linux drivers

Le support pour les périphériques est assuré sous Linux par des pilotes (drivers) dont le code se déroule dans le noyau du système d’exploitation. Il est donc nécessaire pour le développeur amené à écrire ou à tester des pilotes de périphériques de maîtriser les concepts propres à la programmation noyau. Cette formation Linux Drivers propose une approche originale, s’appuyant sur l’écriture progressive de pilotes de différents types, pour appréhender les mécanismes parfois complexes (préemptibilité, multiprocesseur, support d’architectures différentes, etc.) inhérents au code exécuté en mode noyau. Cette formation Linux drivers vous permettra de maîtriser le développement de pilotes de périphériques (drivers) robustes et adaptés aux différentes déclinaisons de Linux. Outre les périphériques classiques (caractère, bloc, réseau), son étudié les sous-systèmes du noyau tels que les systèmes de fichiers ou l’ensemble USB.

Thèmes : LINUX Développement

Unix - Linux - macOS

Formation Unix prise en main

Description de la formation unix Initiation Bien que très populaire, Unix rebute parfois les administrateurs système à cause de son

Durée
3 Jours
Niveau
Fondamental
Modalités
Présentiel · En ligne · Hybride

Unix - Linux - macOS

Formation Unix Perfectionnement

Description de la formation Unix perfectionnement Orienté vers l'utilisation performante et sécurisée du système Unix, ce cours vous

Durée
3 Jours
Niveau
Fondamental
Modalités
Présentiel · En ligne · Hybride

Unix - Linux - macOS

Formation Unix, Maitriser Unix

Objectifs de la formation Objectif opérationnel :   Objectifs pédagogiques : Permettre aux participants d'accéder à une réelle

Durée
4 Jours
Niveau
Fondamental
Modalités
Présentiel · En ligne · Hybride

Unix - Linux - macOS

Formation Unix, Maitriser Unix

Objectifs de la formation Unix Objectifs pédagogiques : Permettre aux participants d'accéder à une réelle maîtrise du système

Durée
4 Jours
Niveau
Fondamental
Modalités
Présentiel · En ligne · Hybride