NSY103

Linux : principes et programmation


6 crédits Joëlle DELACROIX-GOUIN EPN05 - Informatique Unité d'enseignement de type cours

Publié Du 01-09-2007 au 31-08-9999

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

Objectifs pédagogiques

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

Compétences

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

L'unité NSY103 apparaît dans 15 cursus.

CC12800A

Certificat de compétence Administrateur de Bases de Données

CC13800A

Certificat de compétence Analyste en cybersécurité

LG02501A

Licence Sciences technologies santé mention informatique parcours Informatique générale

LP15701A

Licence professionnelle Métiers de l'informatique : conception, développement et test de logiciels parcours Chef de Projet Développement, Sécurité et Exploitation en HTT

CYC9101A

Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)

CYC9102A

Diplôme d'ingénieur Spécialité informatique parcours Informatique modélisation optimisation

CYC9104A

Diplôme d'ingénieur Spécialité informatique parcours Informatique, réseaux, systèmes et multimédia

CYC9105A

Diplôme d'ingénieur Spécialité informatique parcours Informatique systèmes d'information

CYC9106A

Diplôme d'ingénieur Spécialité informatique parcours Cybersécurité

CRN0801A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux

CRN0802A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes d'information

CRN0803A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité

CRN0801A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux

CRN0802A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes d'information

CRN0803A

Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité

Contenu

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 de validation

  • Projet(s)
  • Examen final

Description des modalités de validation

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


1/ de devoirs maison
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.

Bibliographie

TitreAuteur(s)
Linux : programmation système et réseau, Dunod. Quatrième editionJoëlle Delacroix

Thésaurus du Cnam :

  • Méthode de programmation
  • Système UNIX
  • Développement système
  • Système concurrent
  • Langage C

Thésaurus Formacode :

  • 31088 - programmation
  • 30882 - langage C
  • 31032 - système exploitation informatique
  • 31009 - architecture système information

Secrétariat

Libellé
EPN05 - Informatique
Nom du contact
Safia Sider
Adresses email
safia.sider@lecnam.net
Numéros de téléphone
01 40 27 26 81
Adresse postale
2 rue Conté 33.1.13A
Paris 75003