Formation Linux - Conception de drivers – Centre de formation M2i
M2i Formation

Découvrez notre formationLinux - Conception de drivers

Présentiel

4 jours (28 heures) - LUX-DRV

Accueil  ›  Formations Informatique  ›  Systèmes  ›  Linux  ›  Linux - Conception de drivers

Objectifs pédagogiques

  • Développer des pilotes de périphérique sous GNU / Linux.

Niveau requis

Avoir suivi les cours LUX-ADM "Linux - Administration", LUX-ADMA "Linux - Administration avancée" et LUX-RES "Linux - Configuration des services réseaux" ou avoir les connaissances équivalentes. Connaître la programmation système en langage C.

Public concerné

Administrateurs et développeurs.

Paris La Défense25/05/20202 400 € HTDates proposées dans les agences M2iRéserver
Paris La Défense02/11/20202 400 € HTDates proposées dans les agences M2iRéserver

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Jour 1

Noyau Linux et modules

  • Historique du noyau Linux, licences
  • Développement du noyau
  • Les appels systèmes
  • Modules

Exemple de travaux pratiques (à titre indicatif)

  • Quiz

Outils de développement

  • Organisation des sources
  • Paramétrage et compilation du noyau
  • Programmation des modules du noyau
  • Compilation des modules indépendants
  • Messages du noyau
  • Dépendances entre modules

Exemples de travaux pratiques (à titre indicatif)

  • Configuration et compilation du noyau Linux
  • Conception d'un module de noyau

Interface de programmation du noyau

  • Chaînes de caractères, blocs mémoire, fonctions numériques et conversions
  • Pilotes de périphérique
  • Eléments temporels et actions différées
  • Préemptibilité du noyau

Exemples de travaux pratiques (à titre indicatif)

  • Gestion des chaînes de caractère, des blocs mémoire, des fonctions numériques...
  • Noyau préemptif

Jour 2

Environnement du noyau

  • Tâches et processus "current"
  • Espaces d'adressage
  • Dialogue avec /proc

Exemple de travaux pratiques (à titre indicatif)

  • Gestion de l'environnement du noyau

Ecriture d'un driver

  • Principe des pilotes de périphérique
  • Réservation de numéros majeurs et mineurs
  • Enregistrement du pilote de périphérique
  • Fonctions de lecture et écriture
  • Fonctions de paramétrage
  • Synchronisation des appels système

Exemple de travaux pratiques (à titre indicatif)

  • Réalisation d'un driver

Accès au matériel et interruptions

  • Accès simple au matériel
  • Appel système et interruption
  • Différer un traitement en interruption
  • Protection des variables globales

Exemple de travaux pratiques (à titre indicatif)

  • Gestion des interruptions

Fonctions avancés d'un driver

  • Attentes d'événements
  • Multiplexage d'entrées et de sorties
  • Gestion de la mémoire

Exemple de travaux pratiques (à titre indicatif)

  • Conception d'un driver plus élaboré

Jour 3

Modèle de périphérique du noyau

  • Création d'une classe de périphérique
  • Transferts de données par DMA

Exemple de travaux pratiques (à titre indicatif)

  • Conception d'une classe périphérique

Périphériques de bloc et systèmes de fichiers

  • Principe des périphériques de bloc
  • Ecriture d'un driver
  • Enregistrement du pilote
  • Déclaration d'un disque générique
  • Initialisation de la file de requêtes
  • Requêtes sur un driver bloc

Exemple de travaux pratiques (à titre indicatif)

  • Gestion des périphériques de bloc (1ère partie)

Driver bloc avancé

  • Traitement différé
  • Partitionnement du disque
  • Sous-système
  • Block du noyau
  • Ordonnanceur des entrées / sorties

Exemple de travaux pratiques (à titre indicatif)

  • Gestion des périphériques de bloc (2ème partie)

Jour 4

Virtual File System (VFS)

  • Organisation du VFS
  • Structures du file system, dentry, inode et superbloc

Exemple de travaux pratiques (à titre indicatif)

  • Gestion du file system

Nouveau système de fichiers

  • Enregistrement
  • Initialisation du superbloc
  • Implémentation des appels systèmes de lecture et écriture
  • Utilisation du cache en lecture et en écriture
  • Communication avec le sous-système Block

Exemple de travaux pratiques (à titre indicatif)

  • Gestion du système de fichiers

Périphérique réseau

  • Dépendance des interfaces et des protocoles réseaux
  • Périphérique NetDevice
  • Enregistrement d'une interface
  • Activation, émission et réception de paquets
  • Statistiques d'utilisation d'interface

Exemple de travaux pratiques (à titre indicatif)

  • Gestion des périphériques réseaux

Périphérique USB

  • Organisation du sous-système USB
  • Enregistrement d'un driver de classe Interrupt
  • Endpoints et types de dialogue
  • Communication avec les USB
  • Traitements des écritures successives rapides
  • Déconnexions intempestives et accès concurrents
  • Gestion simultanée de plusieurs périphériques
  • Etude de drivers Bulk et Control

Exemple de travaux pratiques (à titre indicatif)

  • Gestion des périphériques USB

Complétez votre formation