Linux : principes et programmation

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

L'avis des auditeurs

Les dernières réponses à l'enquête d'appréciation pour cet enseignement :

Présence et réussite aux examens

Pour l'année universitaire 2021-2022 :

  • Nombre d'inscrits : 347
  • Taux de présence à l'évaluation : 68%
  • Taux de réussite à l'évaluation : 90%

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.
 

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.

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.

Prévisions d'ouverture

Groupe Semestre Modalité État d'ouverture Date du premier cours Lieux
NSY103 Linux : principes et programmation 6 Cours de Jour - - - -

Voir les dates et horaires, les lieux d'enseignement et les modes d'inscription sur les sites internet des centres régionaux qui proposent cette formation

  • Bourgogne-Franche-Comté
    • Bourgogne-Franche-Comté
      • Année 2024 / 2025: Formation en présentiel journée
  • Grand Est
    • Grand Est
      • 2024-2025 1er semestre: Formation ouverte et à distance soir ou samedi
  • Ile-de-France (sans Paris)
    • Ile-de-France (sans Paris)
      • 2024-2025 2nd semestre: Formation ouverte et à distance soir ou samedi
  • Languedoc-Roussillon
    • Languedoc-Roussillon
      • Année 2024 / 2025: Formation en présentiel journée
  • Midi-Pyrénées
    • Toulouse
      • 2024-2025 2nd semestre: Formation en présentiel soir ou samedi
  • Paris
    • Centre Cnam Paris
      • 2024-2025 1er semestre: Formation ouverte et à distance soir ou samedi
      • 2025-2026 1er semestre: Formation ouverte et à distance soir ou samedi
      • 2026-2027 1er semestre: Formation ouverte et à distance soir ou samedi
Code : NSY103
6
crédits
Contactez-nous