Cette unité se déroule au premier semestre du master info. Il s'agit d'une UE obligatoire.
L'enseignement est organisé sous la forme d'une séance hebdomadaire d'1h30 de cours, d'une séance hebdomadaire d'1h30 de TD et d'une séance hebdomadaire de 2h de travaux pratiques.
5 ECTS
Ce module s'attache à l'explication des éléments fondamentaux mis en oeuvre dans la conception des systèmes d'exploitation. L'étudiant doit y acquérir des notions :
Il doit maîtriser les principes fondateurs des systèmes d'exploitation en vue de :
Le cours dresse un état de l'art des différentes techniques et algorithmes dédiés à gestion et à l'abstraction des ressources matérielles élémentaires, à savoir, la mémoire de travail la mémoire persistante, et le microprocesseur. La gestion des entrée/sorties est détaillée dans le cours de réseaux (UE RSX de la licence mention informatique). Un projet de TP vise à reconsituer (par la pratique) les couches composant un système de fichiers. Un autre projet à mettre en oeuvre un ordonnanceur de tâches.
La réalisation de composants système est une activité qui implique de nombreuses heures de manipulation. Ce module comporte la réalisation d'un prototype qui implique un travail personnel substantiel en plus des heures de TD et de TP encadrées.
ISBN 2 7296 0259 2L'emploi du temps est accessible depuis la page du portail du MS1 info, onglet "Calendrier"
| Séance | TD | TP | PROF | Remarque |
|---|---|---|---|---|
| 1 | Gestion de contextes : retour à un contexte |
Première manipulation pratique
Bibliothèque try()/throw() |
Readme, Makefile, display_stack.c, try.h, try.c, try_mul.c | Le TP est à rendre dans PROF avant la prochaine séance de TP |
| 2 | Gestion de contextes : création d'un contexte d'exécution -- Changement de contexte | Bibliothèque de création et changement de contexte | Readme, Makefile, init_ctx(), switch_to() | Le TP est à rendre dans PROF avant la prochaine séance de TP |
| 3 | Gestion de contextes : ordonnancement, ordonnancement sur interruptions | Bibliothèque d'ordonnancement | Readme, Makefile, create_ctx(), yield(), start_schedule() | |
| 4 | Gestion de contextes : synchronisation entre tâches | Bibliothèque de synchronisation | Readme, Makefile, sem.h, sem.c, prodcons.c | Les TP ordonnancement et synchronisation sont à rendre dans PROF avant la prochaine séance de TP |
| 5 | Première couche logicielle : accès au matériel |
Bibliothèque d'accès au matériel
Commandes de formatage du disque (frmt) et dump sector (dmps) |
Readme, Makefile, drive.c, drive.h, dmps, frmt | Le TP est à rendre dans PROF avant la prochaine séance de TP |
| 6 | Seconde couche logicielle : gestion de volumes |
Gestionnaire de partitions
Validation de la bibliothèque de gestion de volumes |
Readme, Makefile, mbr.h, mbr.c, vm | Le TP est à rendre dans PROF avant la prochaine séance de TP |
| 7 | Troisième couche logicielle, 1re partie : structure d'un volume (super bloc) |
Allocateur de blocs, validation
Commandes mknfs (make new filesystem), et dfs (display filesystem) |
||
| 8 | Troisième couche logicielle, 2e partie : structure d'un fichier (inode) | Validation de la structure d'un volume et d'un fichier à l'aide de i-commandes | ||
| 9 | Interrogation écrite : gestion de contextes et système de fichiers | Finalisation système de fichiers | Version finale du sytème de fichiers. Archive unique, Readme, Makefile, sources des commandes vm, mknfs, if_*file, bibliothèques nécessaires pour ces commandes. | Le TP est à rendre dans PROF avant la prochaine séance de TP |
| 10 |
Protection de la mémoire.
Isolation mémoire |
Isolation mémoire | Readme, Makefile, mi_kernel.c, mi_user.c, mi_syscall.h | Le TP est à rendre dans PROF avant la prochaine séance de TP |
| 11 | Mémoire virtuelle et swap disque | Mémoire virtuelle et swap disque | Readme, Makefile, mmu_manager.c, etc. | Le TP est à rendre dans PROF avant la recette des TP |
| 12 | Éventuel rattrapage | Recette des TP | Des versions finales des TP peuvent être rendues dans PROF à l'issue de la recette |
L'évaluation s'effectue suivant une procédure de contrôle continu, et un examen en fin de semestre.
Deux notes seront attribuées à chaque étudiant durant le semestre :
La note finale sur 20 (N) est calculée comme une moyenne pondérée de ces deux notes :
N= sup(EX,(2EX+CC)/3)
Pour la seconde session d'examen, la note CC de contrôle continu est conservée. Seule la note EX d'examen est remplacée par la note obtenue lors de la seconde session.
L'unité acquise apporte 5 ECTS.
L'ensemble des supports de cours, TD et TP sont distribués aux étudiants. Les polycopiés surnuméraires sont laissés à l'AEI.
Ces polycopiés sont disponibles petit à petit.
hardware de
simulation du matériel
Voyez ce que vous propose l'Intranet d'ASE (login et mot de passe LIFL)