Programmation système
Informations
- Professeur : Dany Gagnon
- Pondération 2-4-2
- Deux séances de 3 heures par semaine, le lundi et le mercredi.
- Plan de cours : A2026_420_3A6-ST_OF_DG
- GitLab : dépôts du cours et remises
Calendrier des séances
La séance du 21 septembre est annulée. Les fondements du C sont repris le 23 septembre, la compilation le 28, la mémoire le 30 et les fichiers le 7 octobre.
L'exercice 04 est prévu pour environ trois heures et reste à remettre le 30 septembre. L'exercice 05 commence avec la mémoire, se poursuit avec les fichiers et est à remettre le 9 octobre. Le quiz 01 et la pratique de l'intra ont lieu le 9 octobre. L'intra reste le 19 octobre.
| Semaine | Séance A | Séance B | Évaluation |
|---|---|---|---|
| 1 | Aucune séance prise en charge | Mercredi 26 août Unix, appels système et VM Arch Capsule vidéo : installer Arch Linux avec archinstall |
|
| 2 | Lundi 31 août Transitions, fautes, interruptions et strace |
Mercredi 2 septembre Environnement Unix Remise Exercice 01 |
|
| 3 | Lundi 7 septembre Congé, aucune séance |
Mercredi 9 septembre Fichiers, liens et permissions Remise Exercice 02 |
|
| 4 | Lundi 14 septembre Bash : syntaxe et structures de contrôle Exercices Bash sur HackerRank |
Mercredi 16 septembre PATH, flux et outils de texte Remise : exercice 03, à 23 h 59 |
|
| 5 | Lundi 21 septembre Séance annulée |
Mercredi 23 septembre Fondements du C Début de l'exercice 04 |
|
| 6 | Lundi 28 septembre Compilation, Make, tests et ELF |
Mercredi 30 septembre Pointeurs et saisie en mémoire Remise : exercice 04, à 23 h 59 Début de l'exercice 05 |
|
| 7 | Mercredi 7 octobre Lire et écrire des fichiers en C Suite de l'exercice 05 |
Vendredi 9 octobre Remise : exercice 05, à 23 h 59 |
Quiz 01 : 9 octobre |
| Étude | 12 au 16 octobre Semaine d'étude, aucune remise du cours |
Révision personnelle pour l'intra du 19 octobre | |
| 8 | Lundi 19 octobre Examen intra |
Mercredi 21 octobre |
Examen intra |
| 9 | Lundi 26 octobre |
Mercredi 28 octobre Remise prévue : exercice 06 |
|
| 10 | Lundi 2 novembre |
Mercredi 4 novembre |
|
| 11 | Lundi 9 novembre Remise prévue : exercice 07 |
Mercredi 11 novembre |
|
| 12 | Lundi 16 novembre Remise prévue : exercice 08 |
Mercredi 18 novembre |
|
| 13 | Lundi 23 novembre Remise prévue : exercice 09 |
Mercredi 25 novembre |
|
| 14 | Lundi 30 novembre Remise prévue : exercice 10 |
Mercredi 2 décembre Cours facultatif ou reprise : , , , |
|
| 15 | Lundi 7 décembre Remise prévue : exercice 11 |
Mercredi 9 décembre Aucune séance de cours, ESC |
Quiz 02 |
| Finale | Période d'évaluation | Épreuve synthèse | 40 % |
Médiagraphie
Ouvrages recommandés
- Abraham Silberschatz, Peter B. Galvin et Greg Gagne, Operating System Concepts, 10e édition, Wiley, 2018.
- Andrew S. Tanenbaum et Herbert Bos, Modern Operating Systems, 4e édition, Pearson, 2014.
- Andrew S. Tanenbaum, Systèmes d'exploitation, 3e édition, Pearson Education, édition française.
Ouvrages complémentaires
- Gary J. Nutt, Operating Systems: A Modern Perspective, Addison-Wesley.
- William Stallings, Operating Systems: Internals and Design Principles, Pearson.
- Lubomur F. Bic et Alan C. Shaw, Operating Systems Principles, Prentice Hall.
- Brian W. Kernighan et Dennis M. Ritchie, The C Programming Language, 2e édition, Prentice Hall, 1988.
- Christophe Blaess, Développement système sous Linux, 5e édition, Eyrolles.
- Jean-Marie Rifflet, La programmation sous Unix, Science International.
- Michael Kerrisk, The Linux Programming Interface, No Starch Press, 2010.
- John Shapley Gray, Interprocess Communications in Linux: The Nooks and Crannies, Prentice Hall PTR, 2003.
- Kay A. Robbins et Steven Robbins, UNIX Systems Programming: Communication, Concurrency, and Threads, 2e édition, Pearson.
Ressources en ligne
- Téléchargement officiel d'Arch Linux, image ISO et signatures.
- Guide d'installation d'Arch Linux et documentation d'archinstall.
- ExplainShell, par Idan Kamara. Explication visuelle des commandes à partir des pages de manuel. Ressource en anglais.
- The Linux Command Line, par William Shotts. Septième édition Internet offerte gratuitement en PDF. Ressource en anglais.
- The Linux Kernel documentation, documentation officielle du noyau Linux.
- LWN, actualité du noyau Linux et de son écosystème.
- POSIX.1-2024, norme publiée par The Open Group et l'IEEE.
- The Unix Tree, code source de versions historiques d'Unix.
- Linux man-pages, référence des appels système et des fonctions de bibliothèque.