0972 311 312 (prix appel local)

Linux : principes et programmation (NSY103)

Programme complet et graduel en terme de difficultés.  Source : Enquête d'appréciation des Enseignements de l'OEC 2019-2020

Objectifs

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 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 particularités de ces systèmes

Légende :

  100% Internet - Bretagne

Condition d'accès / publics visé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

Objectifs pédagogiques

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

Compétences visées

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 particularités de ces systèmes

Niveau

Niveau 6 (Bac+3 et Bac+4)

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.

Modalités de validation

Projet(s), Examen final

Accompagnement et suivi

Sous l’autorité pédagogique du certificateur Cnam, les équipes du Cnam Bretagne vous offrent un accompagnement pendant votre parcours de formation à la fois sur les aspects administratifs, financiers, pédagogiques et techniques.

ECTS : 6

Modalité Volume horaire Employeur Pôle Emploi Auto-financement
 
45 heures 900 € 225 € 225 €
Indexation officielle
FORMACODES

[M0A2C3A1] ITIL - [M0A2C3] qualité informatique - [M0A2] informatique - [M0] information, communication, [M0A2C4] sécurité informatique - [M0A2] informatique - [M0] information, communication

[M0A2B7A0] Data Warehouse - [M0A2B7] informatique décisionnelle - [M0A2] informatique - [M0] information, communication, [M0A2A7] audit informatique - [M0A2] informatique - [M0] information, communication, [M0A2A0] administration base de données - [M0A2] informatique - [M0] information, communication, [Z1A0A7] Diplômes d'ingénieur - [Z1A0] Certifications/diplômes/titres niveau 1 - [Z1] Certifications/diplômes/titres, [M0A2] informatique - [M0] information, communication, [M0A2C0A1] conduite projet informatique - [M0A2C0] informatisation - [M0A2] informatique - [M0] information, communication

[M0A2A1] administration système - [M0A2] informatique - [M0] information, communication, [M0A2B5] gestion parc informatique - [M0A2] informatique - [M0] information, communication, [M0A2C5] système exploitation informatique - [M0A2] informatique - [M0] information, communication, [M0A2C9] virtualisation - [M0A2] informatique - [M0] information, communication, [M0A2A9] compression données - [M0A2] informatique - [M0] information, communication, [M0A2C6A0A0] cloud computing - [M0A2C6A0] architecture système information - [M0A2C6] système information - [M0A2] informatique - [M0] information, communication, [Z5B7] logiciel gestion réseau - [Z5] logiciels/outils/applications/services

[M0A2A0] administration base de données - [M0A2] informatique - [M0] information, communication, [M0A2A4] architecture orientée services - [M0A2] informatique - [M0] information, communication, [M0A2A6] architecture web - [M0A2] informatique - [M0] information, communication, [M0A2B7] informatique décisionnelle - [M0A2] informatique - [M0] information, communication, [M0A2C3A1] ITIL - [M0A2C3] qualité informatique - [M0A2] informatique - [M0] information, communication, [M0A2C6A0] architecture système information - [M0A2C6] système information - [M0A2] informatique - [M0] information, communication, [Z5A1] framework - [Z5] logiciels/outils/applications/services, [Z5A3] logiciel aide décision - [Z5] logiciels/outils/applications/services, [Z5C5] logiciel système gestion bases données - [Z5] logiciels/outils/applications/services, [Z5C7] service web - [Z5] logiciels/outils/applications/services

[M0A2] informatique - [M0] information, communication, [M0A2A2A2] programmation - [M0A2A2] analyse programmation - [M0A2] informatique - [M0] information, communication, [M0A3] langage informatique - [M0] information, communication, [M0A2A0] administration base de données - [M0A2] informatique - [M0] information, communication

31006 - sécurité informatique

31034 - administration système 31081 - gestion parc informatique 31032 - système exploitation informatique 31015 - virtualisation 31073 - compression données 31011 - cloud computing 71054 - logiciel gestion réseau

31067 - analyse programmation 31098 - programmation orientée objet 31006 - sécurité informatique 31081 - gestion parc informatique

Mots clés

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

Indicateurs de résultat

En savoir plus

Dernière mise à jour : 02/05/2022

INFOS
PRATIQUES

Durée

45 heures

Modalité

100% Internet - Bretagne  

Date de début des cours

20/02/2023

Date de fin des cours

24/06/2023

Accessibilité handicap

En savoir plus

Comment s’inscrire ?

En savoir plus