Programmation système

Programmation système
Licence InformatiqueParcours Informatique

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