Ce cours porte sur les appels systèmes Linux, une couche logicielle
d'accès aux fonctionnalités noyau du système d'exploitation. Elle se
présente sous la forme d'une bibliothèque de fonctions, nommées appels
système, que l'on classe généralement par thèmes. On distingue ainsi :
- Les appels d'entrées/sorties sur fichiers et sur répertoires
- Les appels de gestion de processus et de threads
- Les appels de communications inter-processus et inter threads
- Les appels de gestion de concurrence
- Les appels de programmation réseau
Contenu :
- Rappels et compléments de langage C
- Commandes de base du système Linux
- Entrées/Sorties sur fichiers
- Entrées/Sorties sur répertoires
- Gestion de processus et de threads
- Gestion du temps : horloges et timers
- Synchronisation : traitement des signaux
- Communication inter-processus par pipes
- Programmation concurrente : semaphore et mutex
- Programmation réseau par sockets
- Programmation temps réel sous Xenomai
Bibliographie:
- Développement système sous Linux, Christophe Blaess, 5e édition, Eyrolles, Paris, 2019.
- The Linux Programming Interface, Michael Kerrisk, No Starch Press, 2010.
- Solutions temps réel sous Linux, Christophe Blaess, 3e édition, Eyrolles, Paris, 2019.
Compétences visées/attendues :
- Analyser et de comprendre le fonctionnement d'un code simple utilisant des appels systèmes Linux.
- Concevoir le code de programmes écrits en langage C, utilisant des appels systèmes Linux pour réaliser des tâches de complexité croissante.
- Enseignant: Hugues Mounier