Programmation système

Cette page donne quelques ressources pour le module de programmation système de l’ENS Rennes. Si vous avez des questions, n’hésitez pas à faire un mail à Martin Quinson.

L’objectif de ce module est de présenter les grandes lignes d’un système d’exploitation (OS). L’angle choisi est d’insister sur la programmation système, c’est-à-dire la façon de tirer le meilleur parti de l’OS dans ses programmes, mais sans entrer dans la façon dont les OS sont écrits.

Nous verrons les concepts clés d’un système d’exploitation (processus, fichier, édition de liens, synchronisation), en insistant beaucoup sur la pratique. Le cours vient avec beaucoup de TP et de projets pour vous permettre de vous entraîner.

Les prérequis du module sont:

Pour faire les travaux pratiques, il est bien préférable d’avoir un ordinateur fonctionnel sous Linux (ou Mac si nécessaire). Si vous n’avez qu’un Windows, trouvez un ami pour vous aider à installer Xubuntu. Si vous êtes coincés, installez le Windows Subsystem Linux (WSL2).

Quelques ressources utiles

On trouve énormément de choses sur internet au sujet des systèmes d’exploitation. Voici une petite sélection de ressources intéressantes portant sur la programmation système.

Semaine 1: Processus

L’objectif de cette semaine est d’expliquer les liens entre processus, programme et processeur. Nous verrons comment naissent et meurent les processeurs, et nous verrons un premier moyen pour les faire communiquer : les signaux.

Semaine 2: Fichiers et entrées/sorties

Semaine 3: Compilation de programmes binaires

Semaine 4: Synchronisation

Cette semaine, c’est théorie. Après tous les problèmes techniques des semaines passées, il est temps d’en venir aux problèmes durs, où la technologie a besoin d’un peu de maths. Au programme : compétition, interblocage et autres joyeusetés.

Semaine 5: Programmation multi-threads

Après la théorie, c’est la pratique. Cette semaine, on va voir comment programmer en pratique en multi-threads.


Merci de signaler toute erreur sur framagit (vous devez être authentifié sur framagit pour cela).
Les collègues enseignants peuvent demander un accès “Guest” au projet, pour accéder aux sources et corrigés (qui sont masqués surtout pour cacher les examens avant le jour J).