Formation : Linux® : Noyau et développement de drivers : Travaux Pratiques
Se former
avec LEARNING TREE INTERNATIONAL
- Renseignements :
- Durée : 4 Jours
- Type : En centre (inter)
- Diplômant : Non
- Prix H.T. € :
N.C.
- Objectifs :
- Travailler dans un environnement Open Source : contacter les développeurs, rechercher des informations, utiliser des outils spécifiques, etc. Réaliser des développements autour du noyau Linux, en particulier des pilotes de matériel Analyser et corriger les problèmes de fonctionnement du système, en remontant jusqu’au noyau du système d’exploitation Mieux comprendre les aspects de licences dans le cadre des développements
- Public visé :
- Ce cours est destiné à une population d’ingénieurs de développement
- Pré-requis :
- une première expérience en environnement UNIX/Linux et une bonne maîtrise du langage
- Introduction à Linux
Présentation de Linux
Historique
Présentation de l’Open Source
Licences Open Source (GPL, LGPL)
Méthodes de travail et outils
Présentation du noyau Linux
Caractéristiques du noyau Linux
Mode noyau et utilisateur, appels système
Fonctionnement des sous-systèmes noyau (gestion de la mémoire, ordonnancement, interruptions, systèmes de fichiers, réseau)
Modules noyau
Versions du noyau
Téléchargement et contenu des sources
Solutions de mise au point (débogage, profiling)
Gestion des patches
Documentation, pointeurs électroniques, livres
Licence du noyau Linux
Compilation croisée
Développement du noyau Linux
Règles & conventions de développement
Développement d’un module noyau
Description
Paramètres
Initialisation
Libération
Optimisation
Compteur d’usage
Symboles
Intégration dans les sources du noyau
Interface entre les applications et les pilotes de périphériques
Fichiers spéciaux
Numéros majeur et mineur
Présentation des pilotes de périphériques
Caractéristiques
Fonctionnement
Implémentation
Fonctions usuelles : open/close/read/write/ioctl
API principale du noyau
Gestion de la mémoire (allocation, copie vers les processus)
Files d’attente
Synchronisation
Mesure du temps
Délais
Timers
Queues de travail
Threads noyau
Listes chaînées
Accès au matériel
Interruptions
Entrées/sorties
API des bus PCI et USB
Mise au point
Présentation et mise en oeuvre de KGDB (débogueur noyau)
Présentation et mise en oeuvre de LTT (Linux Trace Toolkit)
Travaux pratiques
Configuration, compilation et installation d’un noyau Linux sur le poste de travail
Développement d’un module noyau
Développement d’un pilote en mode caractère mettant en oeuvre les différentes API du noyau
Développement d’un pilote interceptant les interruptions du clavier
Développement d’un pilote PCI permettant l’accès à la mémoire d’entrée/sortie d’une carte vidéo
Développement d’un pilote USB s’interfaçant avec une souris
Mise en oeuvre et utilisation de KGDB et LTT
30/09/2008 au 03/10/2008 (92)
24/06/2008 au 27/06/2008 (92)
25/03/2008 au 28/03/2008 (92)
09/12/2008 au 12/12/2008 (92)