Formation en Réseaux et systèmes: Unix/Linux - Programmation Avancée (2-023) - Ascent Formation
Retour aux formations
Réseaux et systèmes

Unix/Linux - Programmation Avancée (2-023)

4 jour(s)24h

Description

Objectif général de la formation : À l’issue de la formation, les participants seront capables de développer des programmes avancés sous Unix/Linux en maîtrisant la gestion des processus, la communication inter-processus, la gestion mémoire, les signaux, la communication réseau, ainsi que les entrées/sorties. Compétences visées : - Gérer et synchroniser les processus et threads sous Unix/Linux - Mettre en œuvre des mécanismes de communication inter-processus (IPC) - Manipuler efficacement la mémoire (allocation, libération, gestion avancée) - Utiliser les signaux pour la gestion des événements et la communication réseau - Optimiser les entrées/sorties dans les programmes Unix/Linux Niveau SAME visé : Maîtrise Modalité : Toutes les modalités (présentiel, classe virtuelle et hybride) sont possibles Lieu possible de réalisation : Locaux du bénéficiaire ou locaux d’Ascent Formation, en France métropolitaine et dans les DROM-COM Nombre maximal de participants : 20

Objectifs pédagogiques

  • Gérer des processus et des threads pour des applications multitâches
  • Implémenter des mécanismes de communication inter-processus (tubes, sockets)
  • Gérer la mémoire dynamique pour des applications optimisées
  • Utiliser les signaux pour interagir avec les processus et gérer les événements système
  • Maîtriser les mécanismes d’entrée/sortie pour des applications performantes

Public concerné

Développeurs logiciels expérimentés sous Unix/Linux
Administrateurs système souhaitant développer des scripts ou programmes avancés
Ingénieurs en systèmes embarqués ou en développement logiciel

Prérequis

Bonne maîtrise des bases de la programmation shell et des systèmes Unix/Linux
Connaissances en C ou tout autre langage de programmation compatible avec Unix/Linux

Déroulé du programme

1

Processus et multitâche (3 heures)

3h
  • Création et gestion des processus avec fork() et exec()
  • Synchronisation des processus avec wait() et waitpid()
  • Travaux pratiques : Écrire un programme multiprocessus simple avec fork()
2

Introduction aux threads (3 heures)

3h
  • Différences entre processus et threads
  • Création, gestion et synchronisation des threads avec la bibliothèque POSIX (pthread)
  • Travaux pratiques : Implémenter un programme multithread pour une tâche concurrente
3

Mécanismes IPC sous Unix/Linux (3 heures)

3h
  • Utilisation des tubes nommés et anonymes
  • Communication avec les files de messages et les mémoires partagées
  • Travaux pratiques : Implémenter une communication simple entre deux processus avec des tubes
4

Communication réseau et sockets (3 heures)

3h
  • Introduction aux sockets (TCP/UDP)
  • Création d’un serveur et d’un client simples en utilisant des sockets
  • Travaux pratiques : Développer une application client-serveur en TCP
5

Gestion de la mémoire (3 heures)

3h
  • Allocation et libération mémoire : malloc(), calloc(), realloc(), free()
  • Manipulation des segments mémoire partagée
  • Travaux pratiques : Écrire un programme optimisé pour gérer des données volumineuses en mémoire
6

Gestion des signaux (3 heures)

3h
  • Utilisation des signaux pour la gestion des événements : signal(), sigaction()
  • Création et manipulation des signaux personnalisés
  • Travaux pratiques : Implémenter un gestionnaire de signaux pour une application multitâche
7

Optimisation des entrées/sorties (3 heures)

3h
  • Lecture et écriture de fichiers avec les fonctions bas niveau : read(), write(), open(), close()
  • Bufférisation et optimisation des flux d’E/S
  • Travaux pratiques : Écrire un programme pour lire, traiter et écrire des données volumineuses
8

Projet pratique (3 heures)

3h
  • Développement d’un programme complet intégrant :
  • Gestion des processus et des threads
  • Communication entre processus et gestion mémoire
  • Entrées/sorties et optimisation des performances

Informations

Durée

4 jour(s)

24h

Tarif

2850 € HT

HT

Prochaines sessions