Programmation système
Cursus master ingénierie (CMI)Parcours Cursus master ingénierie (CMI) - Informatique, systèmes et réseaux

Description

Cette matière présente les principaux concepts manipulés par les systèmes d'exploitation sous l'angle de la programmation avec les primitives systèmes : fichiers et répertoires, gestion des périphériques, processus, droits, tubes et signaux. L'accent est mis sur la portabilité des applications au travers de l'utilisation de la norme POSIX. Travaux pratiques : programmation en langage C sous Linux.

Compétences requises

À l'entrée dans cette matière, un étudiant devrait savoir : manipuler les notions avancées du langage C (structures de données dynamiques, pointeurs, opérateurs binaires, etc.) transcrire des algorithmes en langage C lire et écrire des scripts shell

Compétences visées

À l'issue de ce cours, un étudiant saura :

  • utiliser les principaux appels système, permettant des interactions entre un programme et le système d'exploitation

  • écrire des programmes manipulant les objets mis à disposition par le système : processus, fichiers, répertoires, tubes, signaux.

  • optimiser l'utilisation des ressources système

  • faire interagir des programmes entre eux

Disciplines

  • Informatique

Syllabus

Historique des systèmes d’exploitation Introduction à la programmation système sous Unix et à la norme Posix Primitives système pour l’accès aux fichiers et répertoires sous Unix Introduction au principe de la multiprogrammation Primitives système pour la gestion des processus sous Unix Primitives système pour la gestion des tubes Posix Introduction à la notion de programmation évenementielle / asynchrone Interruptions et signaux Primitives système pour la gestion des signaux Unix

Bibliographie

Bibliographie : R.W. Stevens, Advanced Programming in the UNIX Environment, Addison-Wesley

Contacts

Responsable(s) de l'enseignement