| |
| Formation - LINUX programmation
utilisateur (reference 003346A) |
|
| |
| |
|
 |
|
Formations connexes
|
|
|
 |
|
|
|
|
|
|
| |
|
 |
|
Pré-requis
- Expérience en
programmation C
- Connaissance de
base des systèmes d'exploitation et des
techniques de debug
|
|
|
| |
|
|
|
|
|
|
 |
|
 |
|
Objectifs de la formation
- Comprendre comment
implémenter une application
multi-process et multi-thread dans
l'espace utilisateur d'un noyau Linux
embarqué
- Le cours est
divisé en présentations et travaux
pratiques. Les travaux pratiques
permettent de mieux comprendre le contenu
des présentations
- Configurer et
construire une image noyau Linux
- Comprendre les
differents types de root filesystems
- Démarrer une
application après le boot du noyau
- Utiliser les outils
de debug pour debugger une application en
mode utilisateur
- Comprendre les
différences entre les process et les
threads et organiser les fonctions à
travers les deux mecanismes
- Comprendre la
gestion de la mémoire en mode Linux
utilisateur.
- Utiliser
l'allocation de mémoire dynamique et la
mémoire partagée
- Utiliser les
mécanismes "timer" pour
plannifier les tâches périodiques, les
événements datés
- Comprendre les
differents mécanismes de synchronisation
et d'exclusion mutuelle de l'espace
utilisateur
- Utiliser les
mécanismes de file d'attente message
pour la communication inter-tâche
- Comprendre les
mécanismes d'Entree/Sortie
- Utiliser les
interfaces de connexion pour les
communications TCP, UDP et IP
|
|
|
 |
|
|
|
|
|
|
| |
|
 |
|
Durée
|
|
|
 |
|
|
|
|
|
|
| |
|
 |
|
Programme [Jour 1]
Introduction
- Linux et Temps-réel
- Espace Utilisateur, Espace Noyau
- Appels Système
- Licences
Installation, Compilation et Boot du noyau
Linux
- Configuration noyau
- Construction noyau
- Images noyau
- La Bootline
- Le Root Filesystem
- Demarrage d'une application après le
boot du noyau
Debug
- gdb, remote gdb
- Répertoire /proc
- Outils de traçage
Commandes shell de base
- Commandes fichiers
- Commandes process
Travaux pratiques
- Configuration et compilation du noyau
Linux
- Boot du noyau sur la plateforme cible
- Lancement d'un application au boot
- Utilisation d'un root filesystem en RAM
et d'un root filesystem monté NFS
- Debug d'une application
[Jour 2]
Process et Thread
- Définition des process et threads
- Création de process
- Plannification de process
- Création de thread
- Plannification de Thread
- APIs Posix API (1003.1b, 1003.1c,
1003.1d)
- API System V (IPC System V)
- Gestion des erreurs d'appel système
- Gestion des exceptions
Gestion mémoire
- Organisation mémoire d'un process
- Mémoire partagée, mémoire locale (pour
process et threads)
- API System V pour gestion de la mémoire
partagée
- Verrouillage mémoire
- Organisation d'un descripteur de fichier
en mémoire (mmap, ...)
- Allocation dynamique de la mémoire
Travaux pratiques
- Creation d'une application multi-process
- Partage de variables entre process à
travers la mémoire partagée
- Creation d'une application multi-thread
- Ecriture d'une procédure réentrante
- Allocation mémoire
[Jour 3]
Gestion Signaux et Timing
- Signaux Posix et BSD
- Signal asynchrone and synchrone
- Masquage signaux
- Le timer BSD
- Attente pendant un délai
- Mesure de performance
- Gestion Date et Heure
Synchronisation et exclusion mutuelle
- Le problème de la synchronisation
- Le problème de l'exclusion mutuelle
- Le sémaphore de comptage Posix 1003.1b
- Le mutex Posix 1003.1c
- La variable de condition Posix 1003.1c
- Inversion de priorité
- Deadlock
- Protocole à plafond de priorité
Passage de message
- Mémoire partagée
- La file d'attente message System V
- Les pipes
Travaux pratiques
- Ecriture d'une process périodique
- Démarrage d'une routine asynchrone dans
un process avec un signal
- Synchronisation de tâches avec des
sémaphores
- Protection d'une structure de données
partagées avec un Mutex
- Ecriture d'un mécanisme client-server
avec une file d'attente message
[Jour 4]
Entrée / Sortie
- La couche standard Posix
- Les appels open, read, write, close,
ioctl
- Verrouillage de fichiers
- E/S Asynchrones
- L'appel select
- La couche ANSI stream (stdio)
Réseau TCP/IP
- Généralités sur TCP/IP
- Sockets UDP
- Sockets TCP
- Sockets IP (RAW)
- Options des sockets
Travaux pratiques
- Lecture/écriture de fichiers sur le root
filesystem
- Ecriture d'une communication point à
point avec TCP
- Ecriture d'une communication broadcast
avec UDP
|
|
|
 |
|
|
|
|
|
|
| |
|
 |
|
Documentation
Les supports de cours sont donnés aux
participants. Précis et faciles à utiliser, ils
peuvent servir de référence par la suite.
Le listing des exercices est également fourni
aux participants. |
|
|
 |
|
|
|
|
|
|
| |
|
 |
|
Autres formations
Pour connaître les autres formations que nous
proposons ainsi que leurs contenus, vous pouvez
consulter ou télécharger notre catalogue de
formations sur la page suivante : Formation
- présentation générale |
|
|
 |
|
|
|
|
|
|
|