Programmation système
Cursus master ingénierie (CMI) - UFR de mathématique et d'informatiqueParcours 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