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

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

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.

Programme

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

Partager cette formation Télécharger au format pdf Ajouter à mes favoris

Vous souhaitez suivre cette formation ?

Cette formation est disponible en présentiel ou en classe à distance, avec un programme et une qualité pédagogique identiques.

Choisissez la modalité souhaitée pour vous inscrire :

Modalité Présentiel, Classe à distance

Votre société a besoin d'une offre personnalisée ? Contactez-nous

Faites-nous part de votre projet de formation, nous sommes là pour vous guider.

Contactez-nous