Linux : principes et programmation

Public concerné 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

Finalités de l’unité d’enseignement

Objectifs pédagogiques

Approches qualitative et quantitative des systèmes d'exploitation et de communication. Conception et fonctionnement des systèmes d'exploitation centralisés, répartis et temps réel. Développement d'applications multiprocessus 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 sous Linux/Unix.
Appréhender les mécanismes fondamentaux des systèmes d'exploitation
Comprendre la problématique des systèmes temps réels et les particularites de ces systemes

Organisation

Nombre de crédits enseignements ECTS

6 ECTS

Modalités de validation :

L'évaluation de première et deuxième session est axée autour :
1/ d'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 simple communicant via les outils étudiés (tubes, MSQ, sockets, etc...).
Ce projet est obligatoire ; il compte pour un quart de la note finale de première et deuxième session.
2/ d'un examen écrit comptant pour ¾ de la note finale.

Contenu de la formation

Introduction générale
Rappels d'architecture machine
Structure des systèmes informatiques.
Structure des systèmes d'exploitation.
Gestion de processus
Processus : concepts, opérations sur les processus. Processus coopératifs, threads, communications inter-processus (tubes, files de messages, segments de mémoire partagée).
Ordonnancement de l'unité centrale
: Concepts et critères d'ordonnancement. Ordonnancement temps réel
Synchronisation de processus
: Section critique, sémaphores, problèmes classiques.
Interblocage
: Prévention, détection, correction,
Gestion de la mémoire
: pagination. Segmentation. Mémoire virtuelle.
Systèmes de fichiers
: Interfaces des systèmes de fichiers et implémentation.
Systèmes distribués
Structure des réseaux et structure des systèmes répartis. Programmation socket
Exemple d'un système : LINUX

Bibliographie

Auteur

Titre

Joëlle Delacroix

Linux : programmation système et réseau, Dunod 2006. Deuxième edition

  • Technologie de l'information et communication
  • Crédits européens
Code : NSY103
Signature CNAM
Parcours
Cette unité d'enseignement NSY103 apparait dans les parcours diplômants ou certifiants suivants :
  • Certificat de compétence gestionnaire de systèmes répartis de production de l'énergie électrique
  • Titre professionnel inscrit au RNCP - niveau II concepteur-architecte informatique
  • Ingénieur diplômé de l'école d'ingénieurs du Cnam spécialité informatique - option systèmes d'information (ISI)
  • Ingénieur diplômé de l'école d'ingénieurs du Cnam spécialité informatique - option réseaux, systèmes et multimédia (IRSM)
  • Ingénieur diplômé de l'école d'ingénieurs du Cnam spécialité informatique - option modélisation et ingénierie mathématique
  • Ingénieur diplômé de l'école d'ingénieurs du Cnam spécialité informatique - option architecture et ingénierie des systèmes et des logiciels (AISL)
  • Ingénieur diplômé de l'école d'ingénieurs du Cnam spécialité informatique - option informatique modélisation optimisation (IMO)
  • Licence informatique générale
  • Master microélectronique (spécialité professionnelle)