Formations à distance
Toutes nos formations sont accessibles à distance en classes virtuelles : accès à l'infrastructure de travaux pratiques, machines physiques, outils pédagogiques, échanges avec le formateur. N'hésitez pas à nous appeler pour réserver une formation ou pour participer aux serious games !
Programmation système en langage C
DATES:
DATES:
CODE: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.
Préalables
Il est demandé aux participants de bien connaître les structures et fonctions de base du langage C.
Programme
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.
Mécanismes de communications
IPC
shm/sem/msg
BSD socket
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