Outils et méthodes de développement
Environnement Linux
- Influences, logiciels libres, licence GPL, distributions.
Outils de développement
- Editeurs et environnements intégrés, compilateurs et constructeurs, profileurs et débogueurs.
Les processus
Exécution des processus
- Concept de processus, identifications.
- Création, terminaison d'un processus et exécution.
- Problèmes de sécurité.
Les threads Posix
Programmation avec les threads
- 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
- Emission 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.