Enrolment options

  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 :

  1. Les appels d'entrées/sorties sur fichiers et sur répertoires
  2. Les appels de gestion de processus et de threads
  3. Les appels de communications inter-processus et inter threads
  4. Les appels de gestion de concurrence
  5. Les appels de programmation réseau
  En outre, il existe des variations des distributions Linux standard, dites temps réel. Certaines comportent un double ordonnanceur, l'un pour le système Linux hôte (un système standard) et l'autre pour le système Linux temps réel ; ce dernier préempte le noyau standard dès qu'une tâche temps réel doit tourner. Le plus répandu de ces systèmes est le système Xenomai, qui possède une fonctionnalité à la fois performante et pratique, celle des skins. Il existe plusieurs API (Application Programming Interface) : une dite native et d'autres, nommées skins, qui ont la syntaxe de fonctions de bibliothèques d'autres systèmes d'exploitation temps réel ou de standards et qui encapsulent les fonctions natives correspondantes. Il existe notamment des skins pour les systèmes d'exploitation pSoS, VxWorks et pour le standard POSIX. Ansi, tous les appels systèmes vus dans les items 1 à 5 précédents conformes à la norme POSIX s'intègrent naturellement à Xenomai.


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.



Inscription ET5 ESR
Inscription ET5 ESR