NSY103 - Linux : principes et programmation  [ 6 crédits ]

Public Concerné

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

Finalité de l'unité d'enseignement

Objectifs pédagogiques

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

Capacité et compétences acquises

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

Organisation
6Crédits 
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.

Modalités d'évaluation

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


1/ de trois devoirs maison dont le dernier est 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 trois 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.

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

Trouvez votre formation

Trouvez une Unité d'Enseignement

Contacter nos centres d'enseignements

02 18 69 18 30
Numéro régional, coût d'un appel local
Lundi : 14h - 18h
Du mardi au vendredi : 10h - 12h / 14h - 18h

Région

centre-region Chartres Orleans Bourges Chateauroux Tours Vierzon Blois

Documents à télécharger

Formation ALTERNANCE Modalités de cours VAE Formation à distance Espace numérique de formation CPF