Formation Linux, Programmation Noyau et Drivers

Contactez sans engagement Logware Institut

Pour envoyer, vous devez accepter la politique de confidentialité

Commentaire sur Formation Linux, Programmation Noyau et Drivers - Présentiel - 13ème - Gobelins - Paris

  • Contenu
    Formation Linux, Programmation Noyau et Drivers.
    • Référence: SRUN010 .
    • En centre - Inter: Oui.
    • En Entreprise - Intra: Oui.
    • Durée: 4 jours. 
    • Diplôme: Non.
    • Public: Oui.
    • Public demandeurs d'emploi: Non.
    • Public Etudiant: Non.
    • Prix: 2100 €HT.
    Présentation:

    Cette formation Linux, programmation drivers et noyau vous permettra de  maîtriser le développement  de pilotes pour les périphériques et  de maîtriser le développement et l’intégration de nouveaux éléments dans le noyau Linux. 

    Objectifs du cours:

    Maîtriser le développement  de pilotes pour les périphériques et  de maîtriser le développement et l’intégration de nouveaux éléments dans le noyau Linux. 

    Pré-requis:

    Maîtrise d'unix et du langage C. 

    Programme:

    Présentation. 
    • Vue d’ensemble du système et rôle du noyau.
    • Les sites de référence.
    • Spécificités des noyaux 2.6 et 3.x.
    • Cycles de développement du noyau, les patchs.
    • Mode de fonctionnement (superviseur et utilisateur). Appels système.
    • Organisation des sources (Include/linux, Arch, Kernel, Documentation, ...).
    • Principe de compilation du noyau et des modules.
    • Les dépendances et symboles.
    • Les exportations de symboles.
    • Le chargement du noyau (support,argument,...).
    Les outils utilisables. 
    • Outils de développement (Gcc, Kbuild, Kconfig
    • et Makefile, ...).
    • Outils de débogage (GDB, KGDB, ftrace, ...).
    • Environnement de débogage (Linux Trace
    • Toolkit, ...).
    • Outil de gestion de version (Git, ...).
    • Tracer les appels système (ptrace, ...).
    Gestion des threads, scheduling.  
    • Les différents types de périphériques.
    • Contextes de fonctionnement du noyau.
    • Protection des variables globales.
    • Représentation des threads (état, structure task_stru, thread_info, ...).
    • Les threads, contexte d’exécution.
    • Le scheduler de Linux et la préemption.
    • Création d’un thread noyau (kthread_create, wakeup_process, ...).
    Gestion de la mémoire, du temps et de proc
    • L’organisation mémoire pour les architectures
    • UMA et NUMA.
    • L’espace d’adressage utilisateur et noyau.
    • La gestion de pages à la demande (demand
    • paging).
    • Allocations mémoire, buddy allocator, kmalloc,slabs et pools mémoire.
    • La gestion des accès à la mémoire (les caches et la MMU).
    • Les problèmes liés à la sur-réservation de la mémoire.
    • Gestion de la mémoire sur x86 et ARM, utilisation des Hugepages.
    • Optimisation des appels systèmes (IAPX32, VDSO).
    • Synchronisations et attentes dans le noyau, waitqueues, mutex et les completions.
    • Les ticks et les jiffies dans Linux.
    • L’horloge temps réel, RTC (real Time Clock), implémentation des timers.
    • Interface timers haute résolution, estampilles.Les outils spécifiques au noyau, listes
    • chaînées, kfifo et container_of. 
    • L’interface noyau avec /proc par le procfs.
    Périphérique en mode caractère 
    • Ecriture de pilotes de périphériques caractère.
    • Le VFS (Virtual File System).
    • Les méthodes associées aux périphériques caractères.
    • Gestion des interruptions DMA et accès au matériel.
    • Enregistrement des pilotes de périphériques de type caractère et optimisations.
    Linux Driver Framework – sysfs
    • Présentation du framework, kobject, kset et kref.
    • Les objets drivers, device driver, bus et class.
    • Utilisation et génération des attributs présentés dans le sysfs.
    • Interface avec le hotplug, méthodes match, probe et release.
    • Gestion du firmware.
    • Gestion de l’énergie, méthodes de gestion de l’énergie.
    Périphérique en mode bloc et systèmes de fichier
    • Principe des périphériques en mode bloc.
    • Enregistrement du driver.
    • Callback de lecture et écriture. Support du formatage et opérations avancées.
    • Ordonnanceur des entrées-sorties par bloc du noyau.
    • Conception des systèmes de fichiers.
    • Enregistrement d’un nouveau système de fichiers.
    Interfaces et protocoles réseau 
    • Gestion des interfaces réseau sous Linux.
    • Utilisation des skbuff.
    • Les hooks netfilter.
    • Intégration d’un protocole.
    Travaux pratiques.
       
    Prochaines sessions:
    • 30 Mai 2016
    • 19 Septembre 2016
    • 14 Novembre 2016

Autre formation en rapport avec linux

Ce site utilise des cookies.
En poursuivant votre navigation, vous acceptez son utilisation.
Voir plus  |