Linux : principes et programmation
NSY103


Objectifs pédagogiques

Développement d'applications multiprocessus centralisées et réparties sour un système LINUX.

Public et conditions d'accès

Avoir des bases sur le fonctionnement des systèmes d'exploitation (cette UE intervient dans des diplômes et certifications de niveau supérieur à Bac + 2).
Savoir lire un programme écrit en langage C

Compétences

Savoir développer une application multi processus utilisant des outils de communication et de synchronisation en C sous Linux/Unix.
 

Méthodes de validation

L'évaluation de première et deuxième session est axée autour :


1/ de devoirs maison dont un projet de mise en oeuvre des outils de communication donné à réaliser aux auditeurs. Ce projet conduit à la spécification et programmation d'une application multiprocessus communicant via les outils étudiés (tubes, MSQ, sockets, etc...). On donnera tout d'abord une spécification centralisée puis on demandera à l'étendre en réparti
Ces devoirs notés chacun sur 5 points comptent pour un quart de la note finale de première et deuxième session.


2/ d'un examen écrit de deux heures comptant pour ¾ de la note finale.

3/ De TP qui peuvent être notés et apporter des points bonus.

Contenu de la formation

Introduction générale

  • Rappels sur le fonctionnement des systèmes informatiques.
  • Systèmes mono et multi processeur, centralisés et répartis
  • Installation d'un système Linux et d'un environnement de développement C  (directement ou dans une machine virtuelle)
  • Fonctionnement général du système Linux

Gestion de processus

  • Processus sous Linux
  • Réalisation d'un appel système
  • Threads
  • Gestion de l'espace d'adressage
  • Ordonnancement sous Linux mono et multiprocesseur
  • Langage de commandes associé

Communication centralisée et Synchronisation de processus

  • tubes nommés et anonymes, files de messages
  • segments de mémoire partagée
  • signaux
  • Section critique, sémaphores, problèmes classiques.
  • exemple d'interblocage (par exemple avec les tubes nommés)

Systèmes de fichiers

  • Interfaces des systèmes de fichiers et implémentation
  • programmation
  • langage de commande.
  • fichiers spéciaux
  • gestion des droits

Scripts

  • les notions de bases (variables, boucles, conditionnelles)
  • variables d'environnement

Systèmes distribués

  • Structure des réseaux et structure des systèmes répartis.
  • Programmation socket
  • Introduction au RPC

Des travaux pratiques permettent d'introduire les notions liées au langage C et de mettre en oeuvre les primitives du système liées au processus et à la communication entre processus

Les différents items sont abordés coté utilisateur (programmation) et coté système (implémentation). Par exemple, on peut détailler le fonctionnement interne de quelques appels système et la présentation des structures de données et algorithmes du noyau.

Bibliographie
  • Joëlle Delacroix: Linux : programmation système et réseau, Dunod. Quatrième edition

Cette UE apparaît dans les diplômes et certificats suivants :

Prochaines sessions de formation

Filtres :
Centre de formation Semestre
2021/2022
Jours de
formation
Modalité Tarif    
FOAD Ile-de-France Semestre 1 180 €

Date de début des cours (*) :

  • 27/09/2021
Nanterre Semestre 2 Jeudi   180 €

Date de début des cours (*) :

  • 27/09/2021

* Les dates fournies sont d'ordre général à toutes les formations.
  Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

Paris Semestre 2 180 €

Date de début des cours (*) :

  • 20/09/2021

* Les dates fournies sont d'ordre général à toutes les formations.
  Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

FOAD Ile-de-France
Semestre 1
Cours en ligne
180 €
Nanterre
Semestre 2
Jeudi
Cours hybride
180 €
Paris
Semestre 2
Cours en ligne
180 €
Légende :
Date de début de cours :
  • Île-de-France :
    • 1er semestre et annuel : 27/09/2021
    • 2e semestre : 21/02/2022
  • Paris :
    • 1er semestre et annuel : 20/09/2021
    • 2e semestre : 07/02/2022

Les dates fournies sont d'ordre général à toutes les formations. Les cours pour cette formation peuvent potentiellement commencer un peu plus tard dans le semestre.

Tarif :

Seul le financement à titre individuel est proposé à l'inscription en ligne. Si vous souhaitez financer votre formation par votre entreprise, vous devez demander un devis auprès de nos centres Tarifs en vigueur depuis le 17 juin 2020.

Annuel :

Il s'étend de fin septembre / début octobre à début juillet (dates indicatives, renseignez-vous auprès de votre centre).

Semestre 1 :

Il s'étend de fin septembre / début octobre à fin janvier / début février (dates indicatives, renseignez-vous auprès de votre centre).

Semestre 2 :

Il s'étend de fin février / début mars à début juillet (dates indicatives, renseignez-vous auprès de votre centre).

Cours du soir :

Les cours commencent le plus souvent à 18h30 dans les centres.

  Cours en journée :

Se renseigner auprès du centre pour connaître les horaires.

Cours en ligne :

Les cours sont diffusés sous forme de séances numériques via une plateforme d'e-learning animées et tutorées par un enseignant. Des regroupements peuvent être proposés dont certains sont obligatoires.

  Cours en ligne hybride :

Cette modalité propose une majorité de cours en ligne tuteurés et des regroupements en présentiel obligatoires.

  Cours hybrides :

Cette modalité mixe des cours en présentiel (en cours du soir ou en journée) et des cours en ligne.

  Cours en ligne organisés par un autre
centre CNAM Régional :

Les cours sont diffusés sous forme de séances numériques via une plateforme d'e-learning animées et tutorées par un enseignant.

Recherche en cours ...