Formation Développement système sous Linux ou Unix

Durée 3 jours
Niveau Avancé
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence UDLU

Le Développement d'application système sous Linux ou Unix exige de la rigueur et une connaissance structurée des API. Cette formation vous permettra de maîtriser toutes les facettes de la programmation système: Gestion des processus et threads, gestion fine du système de fichiers et de la mémoire, et bien entendu l'ensemble des outils de communication inter-processus. Pour être vraiment complet ce cours présente également les éléments d'administration système essentiel à tous développeurs.

À la fin de la session, vous serez apte à : 

  • Utiliser les outils et les methodes de développement Linux
  • Comprendre le déroulement des processus 
  • Gérer de la mémoire
  • S'accomoder les signaux et la communication entre processus
  • Apprendre à programmer avec les threads
  • Synchroniser et implémenter des threads
  • Communiquer sur le réseau établi

Public :

Prérequis :

Les participants doivent disposer d'une bonne connaissance d'Unix ou de Linux et d'une bonne maîtrise de la programmation en C.

 

Outils et méthodes de développement

Environnement Linux, logiciels libres, licence GPL
Outils de développement disponibles : éditeurs, compilateurs et constructeurs, profileurs et débogueurs, bibliothèques et environnements intégrés.
Création de bibliothèques statiques et dynamiques.

Déroulement des processus

Exécution des processus Concept de processus, identifications. Création de processus et exécution de nouveaux programmes. Terminaison d'un processus. Problèmes de sécurité. Ordonnancement des processusMultitâche et priorités. Configuration classique de l'ordonnancement. Utilisation avancée des ordonnancements temps-réel Posix.1b.

Gestion de la mémoire

Principes de la mémoire virtuelle Espace d'adressage et mémoire physique, segmentation, pagination, fautes de page.Allocation de la mémoireFonctions classiques, exploration de l'espace d'adressage, récapitulatif. Réussites et échecs des allocations, sur-réservation.Utilisation de la mémoireProjection, configuration des pages, indication d'usage, détection des fuites et débordements mémoire, problèmes de sécurité.

Signaux et communication entre processus

Gestion des signauxSignaux classiques : émission et réception d'un signal. Blocages et attentes.
Signaux temps-réel : principes, émission et réception.
Communication entre processusIPC Système V.
Tubes et tubes nommés.

Entrées-sorties classiques et avancées

Descripteurs et flux : concepts, utilisation, paramétrage
Entrées-sorties non bloquantes et multiplexées
Entrées-sorties asynchrones.

Les threads Posix.1c

Programmation avec les threads Principe des threads Posix.1c. Exécution et terminaison des threads. Attributs d'exécution.
Données privées des threads.
Synchronisation des threads Utilisation des mutex et des conditions Posix.1c. Sémaphores Posix.1b.Implémentations des threads Modèles d'implémentation des threads. Organisation de l'espace mémoire. 
Ordonnancement des threads.
Gestion des signaux.

Communiquer sur le réseau 

Les appels système fondamentaux. Résolution de noms, de services, création de sockets.
TCP/IP et sockets STREAM : serveurs multi-processus et multi-threads, clients TCP.
UDP/IP et sockets DGRAM : communication unicast, multicast et broadcast.
Options des sockets : paramétrer et affiner les communications

 

Les nombreux exercices et études de cas progressifs seront réalisés sur un réseau de serveurs Linux, tous les programmes réalisés en TP existent sous forme de squelette que les participants complètent eux mêmes.


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB