Télécharger ce programme au format PDF |
 |
OBJECTIFS
Cette formation permet aux développeurs de pouvoir appréhender les concepts de la programmation sous Linux afin de pouvoir concevoir des applications métiers des plus basiques aux plus avancées Les concepts suivant sont abordés:
‐ La notion de processus,
‐ La manipulation et la gestion des fichiers sous Linux,
‐ Le multi-tâche,
‐ Les notions de communication inter‐processus,
‐ La gestion mémoire,
‐ La programmation réseau.
PRE‐REQUIS
Cette formation s'adresse en premier lieu aux développeurs ayant une expérience de la programmation en C.
Les travaux pratiques se faisant sous Linux, la connaissance des commandes Linux de base est souhaitable.
PROGRAMME
|
JOUR 1
Introduction
- Historique et présentation de Linux
- Licences (GPL, LGPL, BSD)
- Outils pour le développement (valgrind, gdb)
- Débogage d'applications sous Linux
- Introduction au concept de cross‐compilation
Processus
- Introduction et concepts
- Attributs et identification
- Création, attente, terminaison de processus
- Informations système sur les processus
Travaux pratiques
- Installation des outils de développement (compilateur, débogeur, profileur)
- Création de processus
- Etude du démarrage de Linux
|
JOUR 2
Threads
Présentation et concepts
- Attributs et identification
- Threads vs. Processus
- Création, attente, terminaison de threads
- Mémoire partagée et protection
Fichiers
- Structure du système de fichiers Linux
- E/S standards
- Fonctions bas‐niveau
- Verrous et autres fonctions de manipulation
Travaux pratiques
- Création d'une application multi‐tâche
- Etude de la mémoire et protection de sections critiques
- Application de manipulation de fichiers
|
|
JOUR 3
Ordonnancement
- Présentation de l'ordonnanceur Linux
- Ordonnancement des processus et threads
- Ordonnancement temps‐réel souple
Signaux
- Introduction et listes de signaux
- Emission de signaux
- Réception de signaux
- Blocage de signaux
- Notions de signaux temps‐réel
Communication inter‐processus
- Mémoire partagée
- Files de messages
- Sémaphores
- Tubes et tubes nommés
Travaux pratiques
- Manipulation de l'ordonnanceur
- Applications des signaux
- Mise en pratique des IPC
|
JOUR 4
Gestion de la mémoire
- Notion de mémoire virtuelle
- Allocation et libération
- Règle de sécurité
- Vérouillage des pages mémoire
- Protection de l'accès à la mémoire
Programmation réseau
- Introduction aux sockets
- Création d'une socket
- Attribution d'adresses
- Utilisation du mode connecté ou déconnecté
- Demande de connexion et fermeture
- Emission et réception de données
Travaux pratiques
- Manipulation de la mémoire sous Linux
- Application TCP/IP client / serveur
|