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é
Prérequis
Déroulé du programme
Processus et multitâche (3 heures)
- 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()
Introduction aux threads (3 heures)
- 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
Mécanismes IPC sous Unix/Linux (3 heures)
- 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
Communication réseau et sockets (3 heures)
- 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
Gestion de la mémoire (3 heures)
- 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
Gestion des signaux (3 heures)
- 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
Optimisation des entrées/sorties (3 heures)
- 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
Projet pratique (3 heures)
- 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
2850 € HT
HT
Prochaines sessions
Formations similaires
Active Directory Federation Services (ADFS) (2-015)
2850 € HT
Administration d’un serveur POSTFIX sous Linux
2600 € HT
Administration de Serveur Web IIS 10 pour Windows Server
3490 € HT
Administration de Solaris 11 - Niveau 1
3490 € HT