> Formations > Technologies numériques > Systèmes d'exploitation > Linux, Unix, macOS > Formation Linux/Unix, développement système > Formations > Technologies numériques > Formation Linux/Unix, développement système

Formation : Linux/Unix, développement système

Linux/Unix, développement système




Lorsque l’on met en œuvre une application, le développeur doit récupérer, au travers d’une syntaxe spécifique, des informations du système sur lequel l’application s’exécutera. Il fait ainsi communiquer son programme avec différents composants. Nous vous proposons de maîtriser toutes les facettes de la programmation applicative : 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 interprocessus.


INTER
INTRA
SUR MESURE

Cours pratique en présentiel ou à distance
Disponible en anglais, à la demande

Réf. LIS
  4j - 28h00
Prix : 2610 € H.T.
Pauses-café et
déjeuners offerts




Lorsque l’on met en œuvre une application, le développeur doit récupérer, au travers d’une syntaxe spécifique, des informations du système sur lequel l’application s’exécutera. Il fait ainsi communiquer son programme avec différents composants. Nous vous proposons de maîtriser toutes les facettes de la programmation applicative : 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 interprocessus.


Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
Savoir gérer les processus et les threads
Maîtriser la communication inter processus
Gérer la mémoire
Maîtiser les signaux et la communication réseau
Maîtriser les entrées sorties

Public concerné
Développeurs Linux/Unix.

Prérequis
Bonne connaissance d'un système Linux/ Unix et de la programmation en C.
Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en faisant  ce test.

Méthodes et moyens pédagogiques
Travaux pratiques
Les exercices et études de cas progressifs sont réalisés sur un réseau de serveurs Linux. Tous les TP existent sous forme de squelettes à complèter.

Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

Programme de la formation

Outils et méthodes de développement

  • Environnement Linux : influences, logiciels libres, licence GPL, distributions.
  • Outils de développement : éditeurs et environnements intégrés, compilateurs et constructeurs, profileurs et débogueurs.
Travaux pratiques
Prise en main des outils de développement (gcc, make...).

Les processus

  • Concept de processus, identifications.
  • Création, terminaison d'un processus et exécution.
  • Problèmes de sécurité.

Les threads Posix

  • Principe des threads Posix.1c.
  • Exécution et terminaison des threads.
  • Synchronisation des threads : utilisation des mutex et des variables conditions.

Communications entre processus

  • Files de messages : principe. Files de message System V et Posix.
  • Mémoire partagée : principe. Segments de mémoire System V et Posix.
  • Synchronisation des accès : sémaphores Posix et nommés.
  • Tubes de communication : création d'un tube, redirection des entrées-sorties, tubes nommés.

Gestion de la mémoire

  • Principes de la mémoire virtuelle : espace d'adressage et mémoire physique. Segmentation et pagination. Fautes de page.
  • Allocation de la mémoire : fonctions classiques, exploration de l'espace d'adressage, réussite et échec d'allocation.
  • Utilisation de la mémoire : projection, configuration, détection des fuites et débordements mémoire.

Signaux

  • Gestion des signaux : émission et réception de signaux, blocages et attentes.
  • Signaux temps réel : principes. Emission et réception.

Communiquer sur le réseau

  • Appels système fondamentaux : résolution de noms, de services, création de sockets.
  • Communication TCP/IP et UDP/IP : serveurs multiprocessus et multithreads, clients TCP.
  • Transmission unicast, multicast et broadcast.

Entrées-sorties classiques et avancées

  • Descripteurs et flux : concepts, utilisation, paramétrage.
  • Entrées-sorties avancées : entrées-sorties non bloquantes et multiplexées, asynchronisme.
Solutions de financement
Plusieurs solutions existent pour financer votre formation et dépendent de votre situation professionnelle.
Découvrez-les sur notre page Comment financer sa formation ou contactez votre conseiller formation.

Horaires
les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45. Les pauses et déjeuners sont offerts.
Pour les stages pratiques de 4 ou 5 jours, quelle que soit la modalité, les sessions se terminent à 16h le dernier jour.

Dates et lieux
Sélectionnez votre lieu ou optez pour la classe à distance puis choisissez votre date.
Classe à distance

Dernières places
Date garantie en présentiel ou à distance
Session garantie