Développement système sous Linux ou Unix

Développement système sous Linux ou Unix

Développement système sous Linux ou Unix

Type(s) : PED
Durée : 4 Jours – 28 Heures

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.

Objectifs

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 concerné

Développeurs, chefs de projets, programmateurs.

 

Profil du formateur

Formateur consultant, expert, pédagogue et certifié dans son domaine

Méthode pédagogique

La formation est constituée d’apports théoriques et d’exercices pratiques. Chaque stagiaire dispose d’un poste de travail et la gestion en petit groupe (jusqu’à 8 stagiaires) permet un suivi individualisé et adapté. Durant les sessions de formation, un support pédagogique est remis aux stagiaires.

Suivi, évaluation, sanction

Des tours de table permettent de suivre la progression du stagiaire au fur et à mesure de la formation. Un suivi de la formation est réalisé par une feuille de présence émargée par demi-journée par les stagiaires et le formateur. Un questionnaire de satisfaction et une validation des acquis sont complétés par chaque stagiaire en fin de formation. Formation sans certification.

Plan du cours

Outils et méthodes de développementOutils 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 processus

  • Multitâ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émoire

  • Fonctions classiques, exploration de l'espace d'adressage, récapitulatif. Réussites et échecs des allocations, sur-réservation.

 

Utilisation de la mémoire

  • Projection, 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 signaux

  • Signaux classiques : émission et réception d'un signal. Blocages et attentes.
  • Signaux temps-réel : principes, émission et réception.

Communication entre processus

  • IPC 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

 

Nous contacter

AMS Formation (France)
03 83 67 63 05
22 Rue de Medreville
54000 Nancy – France

AMS Formation (Luxembourg)
00 352 26 10 22 58
145, route de Pétange
L-4645 Niederkorn – Luxembourg

ams-formation@ams-training.com

Suivez-nous

Retrouvez toute l'actualité d'AMS Formation sur les réseaux sociaux.