formation-continue

Programmation système en langage C (LC010)

La formation Programmation système en langage C vous permet de 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 mis sur les fichiers, pointeurs, allocations de mémoire, communications et les librairies systèmes.

Diplôme
Certificat ESIEE-IT
Durée
3 jours (soit 21 heures)
Coût
En intra seulement
Campus
Paris 9ème ou à distance

Programmation système en langage C

À la suite de la formation, vous serez capable de 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.

Rappels

  • Architecture d'un programme écrit en C. Phases de compilation.

Gestion de la mémoire

  • Rappel sur l'organisation de la mémoire. L'adressage par les pointeurs. Les opérateurs & et * .
  • Les pointeurs et les arguments de fonctions. Les calculs d'adresses. Les fonctions d'allocation malloc et free,et les appels systèmes: sbrk, realloc.
  • Atelier : écriture d'un allocateur de mémoire..

Communication inter-process

  • Les différentes méthodes : pipes, fifo, signaux, files de messages. Signaux et interruptions : les principaux signaux.
  • Atelier : émission d'un signal avec kill(), réception du signal par signal(). Sémaphores et appels concurrents :principe de fonctionnement des sémaphores.
  • Atelier : mise en oeuvre avec semget, semctl, semop. Segments de mémoires partagées :définitions de constantes et structures,
  • Atelier : création d'un segment de mémoire partagée avec shmget,
  • Attachement, détachement d'un segment avec shmat, shmdt.
  • Files de messages :constantes et structures nécessaires pour la manipulation des files de messages.
  • Atelier : mise en oeuvre de la primitive msgget(),gestion des files de messages (consultation, modification, suppression) avec msgctl()
  • Envoi d'un message à une file : msgsend(). Segments partagés :définition d'un segment de mémoire partagé. Description et mise en œuvre des appels systèmes shmat(), shmget().
  • Utilisation de sémaphores pour la gestion des accès concurrents au segment. Sockets BSD : mise en œuvre des prises réseaux pour la communication inter-processus.
  • Exemple avec des liens locaux. Extension aux liens distants. Communications inter-machines.

Les processus et la parallélisation

  • Création de processus.
  • Définition et mise en œuvre des primitives fork(), clone(), setsid().
  • Limites d'utilisation. Introduction aux threads.
  • Les threads. La norme et les implémentations.
  • L'implémentation Posix : NPTL.
  • Cycle de vie des threads: création, destruction.
  • Synchronisation entre threads, détachement du processus principal, attente de fin d'exécution.
  • Attributs des threads.
  • Gestion de la mémoire consommée, gestion de la pile de données.
  • Gestion des accès concurrents, principe de l'exclusion mutuelle.
  • Atelier : mise en œuvre des mutex. Coopération de traitements entre threads. Mise en œuvre des conditions variables. Gestion des signaux dans un thread. Ordonnancement de threads.

À qui s’adresse cette formation ?

Toute personne amenée à programmer, à superviser ou à modifier des logiciels écrits en langage C et liés au système d'exploitation.
 

Quels sont les prérequis ? 

Il est demandé aux participants de connaître les structures et fonctions de base du langage C. 
 

Méthodes pédagogiques 

  • Apports théoriques suivis d’applications 
  • Travaux pratiques réalisés 
     

Méthodes d'évaluations

  • QCM d'évaluation des acquis

  • À l’issue de cette formation, un certificat ESIEE-IT vous sera délivré.

Pour vous inscrire, envoyez un mail à formationcontinue@esiee-it.fr  (réponses sous 48heures). 

Informations complémentaires

Texte

Prochaines sessions : 

  •  En intra seulement
  • Horaires : 9h00 à 17h30
  • Taux de réussite : nouvelle formation 
  • 100% à distance (D) ou en présentiel (P)
  • Si vous êtes en situation de handicap, retrouvez toutes les informations utiles  ICI

 

Contactez-nous