Ressources

Description officielle

Maîtriser et appliquer les concepts fondamentaux des systèmes d’exploitation. Comprendre les mécanismes et les politiques mises-en-oeuvre par les systèmes d’exploitations. Maîtriser la programmation système UNIX/Linux en C.

Rôles, types et structure générale des systèmes d’exploitation. Mécanismes noyaux : appels systèmes, interruptions, modes d’exécution processeur. Gestion des processus : états des processus, création et terminaison (fork et exec). Multitâche : changement de contexte, fils (threads), ordonnancement des tâches. Gestion des fichiers : systèmes de fichiers, inodes, descripteurs de fichiers, fichiers spéciaux. Communication inter-processus : échanges de messages, signaux, tubes, mémoire partagée. Concurrence : synchronisation, sections critiques, interblocages. Gestion de la mémoire : adressage, allocation, protection, pagination, mémoire virtuelle. Entrées-sorties : pilotes, pseudo-périphériques. Les considérations de sécurité seront intégrées au développement de la matière.

Évaluations et échéancier des rendus

Les dates de remise sont des dates “au plus tard”, et s’entendent sur le fuseau horaire de Montréal, à 23:55 le jour de la date de remise. Tout rendu hors délai recevra la note de zéro (0), mais rien ne vous empêche de livrer avant l’échéance. Les règles concernant le plagiat seront appliquées sans aucune tolérance.

Desc % De À
💾 TP0 - dératiseur 8% ≈ mardi 18 mai dimanche 30 mai
💾 TP1 - extra 20% ≈ mardi 1er juin dimanche 20 juin
🌼 Devoir intra 20% lundi 28 juin mardi 29 juin
💾 TP2 20% ≈ mardi 6 juillet dimanche 8 aout
☀ Devoir final 20% lundi 16 aout mardi 17 aout

Semainier des séances

  • Mardi 9 h 30 : Questions et réponses sur mattermost
  • Mardi 12 h 00 à 23 h 55 : Quiz hebdomadaire sur Moodle
  • Jeudi 9 h 30 : Laboratoire sur zoom

Les diapositives téléchargeables (pdf) sont plus récentes que celles qui ont été utilisées lors de l’enregistrement des capsules. La numérotation des pages est restée toutefois identique pour faciliter leur utilisation.

# Semaine Capsules et diapos Quiz, cours, labs, TP
1 10 mai 000 Présentation 🎥 - pdf 🖼
La première séance a lieu sur zoom
Lab1 ⌨️
Solutions du lab1
2 17 mai 100 Introduction 🎥 - pdf 🖼
110 Définition et rôles 🎥 - pdf 🖼
120 Appels système 🎥 - pdf 🖼 - progs 💾
130 Mécanismes matériels 🎥 - pdf 🖼 - progs 💾
Total: 1h40
Quiz2 ✅
Lab2 ⌨️
Solutions du lab2
Enregistrement du lab2 🎥
Sujet TP0 💾
3 24 mai 200 Processus 🎥 - pdf 🖼
210 Threads 🎥 - pdf 🖼
220 Mémoire des processus 🎥 - pdf 🖼 - progs 💾
230 Vie et état 🎥 - pdf 🖼
Total: 1h25
Quiz3 ✅
Lab3 ⌨️
Solutions du lab3
Enregistrement du lab3 🎥
Remise TP0 💾
4 31 mai 240 Création et terminaison 🎥 - pdf 🖼 - progs 💾
241 fork et création de processus 🎥 - pdf 🖼 - progs 💾
242 exec et recouvrement de processus 🎥 - pdf 🖼 - progs 💾
243 exit et terminaison de processus 🎥 - pdf 🖼 - progs 💾
Total: 2h10
Quiz4 ✅
Lab4 ⌨️
Solutions du lab4
Enregistrement du lab4 🎥
Sujet TP1 💾
5 7 juin 250 Ordonnancement des processus 🎥 - pdf 🖼 - progs 💾
Total: 1h30
Quiz5 ✅
Lab5 ⌨️
Solutions du lab5
Enregistrement du lab5 🎥
6 14 juin 300 Système de gestion de fichiers 🎥 - pdf 🖼
310 Manipulation de fichiers 🎥 - pdf 🖼
Total: 1h35
Quiz6 ✅
Lab6 ⌨️
Remise TP1 💾
7 21 juin 320 Droits et utilisateurs 🎥 - pdf 🖼
330 Répertoires 🎥 - pdf 🖼 - progs 💾
Total: 1h16
Jeudi 24 juin congé (pas de séance de lab)
Quiz7 ✅
Lab7 ⌨️
8 🌼 28 juin Devoir intra
Pas de cours
Jeudi 1er juillet congé (pas de séance de lab)
9 5 juillet 340 Traitement des fichiers ouverts 🎥 - pdf 🖼 - progs 💾
350 Implémentation des systèmes de fichiers 🎥 - pdf 🖼
Total: 1h55
Quiz9 ✅
Lab9 ⌨️
Sujet TP2 💾
10 12 juillet 400 Communication interprocessus 🎥 - pdf 🖼
410 Signaux 🎥 - pdf 🖼 - progs 💾
420 Tubes 🎥 - pdf 🖼 - progs 💾
Total: 1h55
Jeudi 15 juillet: date limite d'abandon sans mention d'échec.
Quiz10 ✅
Lab10 ⌨️
11 19 juillet 430 Sockets 🎥 - pdf 🖼 - progs 💾
500 Synchronisation 🎥 - pdf 🖼 - progs 💾
Total: 1h24
Quiz11 ✅
Lab11 ⌨️
12 26 juillet 510 Section critique 🎥 - pdf 🖼 - progs 💾
520 Outils de synchronisation 🎥 - pdf 🖼 - progs 💾
530 Interblocage 🎥 - pdf 🖼 - progs 💾
Total: 1h55
Quiz12 ✅
Lab12 ⌨️
13 2 aout 600 Gestion de la mémoire 🎥 - pdf 🖼 - progs 💾
610 Pagination 🎥 - pdf 🖼
620 Mémoire virtuelle 🎥 - pdf 🖼
Total: 1h50
Quiz13 ✅
Lab13 ⌨️
Remise TP2 💾
14 9 aout 621 Mémoire virtuelle avancée 🎥 - pdf 🖼
622 mmap et cie. 🎥 - pdf 🖼 - progs 💾
623 Consommation mémoire 🎥 - pdf 🖼 - progs 💾
Total: 1h40
Quiz14 ✅
Lab14 ⌨️
15 ☀ 16 aout Devoir final
Pas de cours ni de labs

Liens

  • The Linux Kernel documentation. Documentation officielle du noyau Linux
  • LWN. Site d’information spécialisé sur le noyau linux et son ecosystème (Linux Weekly News)
  • POSIX.1-2017. Norme POSIX (Open Group et IEEE).
  • The Unix Tree. Code source original de nombreuses versions historiques de Unix.