bg-header

Linux : principes et programmation

6 ECTS NSY103

Nombre de crédits
6 ECTS

Durée de la formation
60 heures

Modalité
Alternance

objectifs de la formation

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

compétences et débouchés

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

prérequis

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

programme 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.

Méthodes pédagogiques

Modalité Présentiel

Les cours en présentiel : ils ont lieu en présence des élèves et de l’enseignant dans un centre Cnam :

  • hors temps de travail (HTT)c'est à dire le soir (souvent à partir de 18h30) ou le samedi,
  • en journée (au rythme d'un cours par semaine ou bien de quelques journées bloquées dans le semestre).

Aucun cours n’est enregistré ni diffusé via Internet. La présence physique des élèves est nécessaire.

Les examens se déroulent exclusivement dans le centre Cnam où se déroulent les cours.

Modalité Hybride

La modalité hybride est une combinaison entre :

  • des regroupements en salle à présence physique indispensable (non diffusés via Internet et non enregistrés),
  • des webconférences régulières à présence fortement conseillée,
  • des activités distantes via la plateforme d’enseignement à distance pouvant prendre la forme de :
    • la mise à disposition de ressources pédagogiques formalisées (cours magistraux : notions et concepts),
    • des travaux à réaliser tutorés (activités pédagogiques : exercices, cas, lectures, rédaction de notes, de dossiers qui font écho aux ressources pédagogiques et/ou aux activités réalisées dans le cadre des regroupements physiques, forums …),
    • des travaux personnels non tutorés.

Modalité Foad

La modalité Foad est parfaitement adaptée à votre disponibilité :

  • des webconférences régulières à présence indispensable (accessibles en direct via internet, enregistrées pour visualisation en différé),
  • des activités distantes via la plateforme d’enseignement à distance pouvant prendre la forme de :
    • la mise à disposition de ressources pédagogiques (cours, exercices, cas),
    • des travaux à réaliser tutorés via la plateforme d’enseignement à distance,
    • des travaux personnels non tutorés.

méthode d'évaluation

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.

Equivalences, passerelles & suite de parcours

En savoir plus sur les équivalences, passerelles & suite de parcours

financez votre formation

En savoir plus sur nos modes de financement


Mis à jour le : 24-03-2024
S'inscrire !