• Développement informatique
  • Langage C
  • Système exploitation informatique
  • Architecture système information

Linux : principes et programmation

Mis à jour le

Responsable(s) : Mme Joelle DELACROIX GOUIN

  • Cours
Code Cnam : NSY103-PAR
  • Durée : 50 heures (+/- 10%)
  • A la carte
  • 6 crédits
  • Distanciel

Présentation

Public, conditions d'accès et prérequis

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

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

L'avis des auditeurs

Les dernières réponses à l'enquête d'appréciation pour cet enseignement : Fiche synthétique au format PDF

Compétences et débouchés

Compétences

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

Informations pratiques

Contact

  • Département : EPN05- Informatique
  • Adresse : 2 rue Conté - 75003 Paris
Logo Ecole numérique et IA Cnam

Programme

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 d'évaluation

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

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

Formation mère

Linux : principes et programmation

Ces formations pourraient vous intéresser

    • Développement informatique
    • Résolution problème
    • Mathématiques informatiques

    Algorithmique et Programmation

    Cours, RCP106
    6 crédits Hybride (présentiel et distanciel) A la carte
    Centre Cnam Paris
    Voir la formation
    • Développement informatique
    • Administration base de données
    Entrée Niveau 4 (Bac)

    Licence Informatique parcours Informatique générale

    Licence, LG02501A
    180 crédits Distanciel A la carte Alternance
    Auvergne-Rhône-Alpes, Montbrison, Caen, Rouen, Périgueux, Nouvelle Aquitaine, Cergy-Pontoise, Evry, Melun, Nanterre, Saint-Denis, ITII PICARDIE (Beauvais) , Lille, Lycée Saint-Joseph, Pôle Sup (Arras), Grand Est, Bretagne, Boulogne, Epinal, Metz, Reims, Strasbourg, Languedoc-Roussillon, Pays de la Loire, Centre Cnam Paris
    Voir la formation
    • Développement informatique
    • Langage Python
    • Logiciel Excel
    • Analyse de données
    • Informatique de gestion
    • Automatisation
    • Langages informatiques
    • Langage Visual Basic
    • Programmation structurée
    • Logiciels/outils/applications/services

    Macros, programmation VBA

    Cours + travaux pratiques, NFE006
    6 crédits Distanciel A la carte
    Paris
    Voir la formation
    • Développement informatique
    • Langage C
    • Système exploitation informatique
    • Architecture système information

    Linux : principes et programmation

    Cours, NSY103
    6 crédits Présentiel Distanciel Hybride (présentiel et distanciel) A la carte
    Midi-Pyrénées, Grand Est, Paris, Ile-de-France (sans Paris)
    Voir la formation