picto Unix - Linux - Mac Os

Formation Développement système sous Linux ou Unix

Référence

UDLU

Durée

3 JOURS

Tarif

EN INTRA SEULEMENT

NIVEAU

Expert

Cours à distance

Partiellement

Objectifs de la formation Développement système sous Linux ou Unix

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.

Pré-Requis

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.

Public

Contenu du cours Développement système sous Linux ou Unix

 

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