Formation: Programmation système en langage C
Prix:
Code cours:
LC010
Public:
Toute personne amenée à programmer, à superviser ou à modifier des logiciels écrits en langage C et liés au système d'exploitation.
Objectifs
Compléter des connaissances en langage C par une formation approfondie sur les mécanismes d'accès au système d'exploitation. L'accent sera particulièrement sur les fichiers, pointeurs, allocations de mémoire, communications et les librairies systèmes.
Connaissances préalables nécessaires
Il est demandé aux participants de bien connaître les structures et fonctions de base du langage C.
Programme de formation
Rappels
Architecture d'un programme écrit en C; fonctions de base. Variables. Phases de compilation. Rappels sur les systèmes d'exploitation des ordinateurs.
Variables
Structures, unions, tableaux. Pointeurs.
Fonctions
Rappels sur les pointeurs de fonctions. Applications à la structure des fichiers.
Mémoire
Les fonctions d'allocation et les appels systèmes: sbrk, malloc, realloc. Ecriture d'un allocateur de mémoire.
Communications
Signaux et interruptions. Sémaphores et appels concurrents. Segments de mémoires partagées.
Parallélisation
Création de processus fork(),clone(),setsid(). Threads. NPTL. Création, destruction. Synchronisation entre threads, détachement. Attributs. Gestion de la pile. Mutex. Conditions variables. Signaux, interruptions. Ordonnancement.
Systèmes
Organisation. Gestion de processus. Pilotes de périphériques. Application au système Unix