Durée
30h Th, 6h Pr, 30h Proj.
Nombre de crédits
Enseignant
Langue(s) de l'unité d'enseignement
Langue anglaise
Organisation et évaluation
Enseignement au deuxième quadrimestre
Horaire
Unités d'enseignement prérequises et corequises
Les unités prérequises ou corequises sont présentées au sein de chaque programme
Contenus de l'unité d'enseignement
Ce cours a pour but d'introduire les notions et mécanismes de bases des systèmes d'exploitation modernes.
L'accent est mis sur les principes, mais aussi sur la pratique, de manière à illustrer les concepts clés dans un contexte pragmatique.
Le cours couvrira:
1. Introduction/background: bref rappel d'organisation des ordinateurs et structures des systèmes informatiques; multi-programmation; OS comme un service; OS comme un gestionnaire de resources; organisation générale d'un OS.
2. Gestion de processus: Processus comme abstraction du traitement informatique; Processus, threads, and multi-threading; communications inter-processus; ordonancement.
3. Gestion de la mémoire: Stratégies d'allocation (swapping, pagination, segmentation); relocalisation dynamique des adresses; mémoire virtuelle.
4. Entrées/sorties: périphériques; principes d'I/O matérielles; principes d'I/O logicielles; interfaçage; gestionaire de périphériques.
5. Gestion du stockage des données: structure des systèmes de fichiers; montage et gestion des systèmes de fichiers; implémentation des systèmes de fichiers; mécanismes de protection; systèmes de fichiers en réseau.
6. Introduction à la virtualisation: virtualisation des systèmes; paravirtualisation; virtualisation du noyau du systeme d'exploitation.
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement
- Apprentissage des principes, des concepts de base et de l'organisation des systèmes d'exploitation.
- Acquisition de compétences pratiques en programmation système.
Savoirs et compétences prérequis
Connaissance du langage C.
Cours de "computation structures".
CO-REQUIS: INFO0012 et INFO 9012
Activités d'apprentissage prévues et méthodes d'enseignement
Classe inversée. Il y aura plusieurs projets (de groupe et individuels).
Mode d'enseignement (présentiel, à distance, hybride)
Cours hebdomadaire en présentiel. Répétitions et séances de laboratoire. En fonction de la situatio sanitaire, toutes les activités pourraient être tenues en ligne.
Lectures recommandées ou obligatoires et notes de cours
Lectures recommandées: Operating System Concepts; Silberschatz, Galvin, Gagne; Wiley. Operating Systems Design and Implementation; Tannenbaum, Woodhull; Prentice Hall.
Modalités d'évaluation et critères
Examen(s) en session
Toutes sessions confondues
- En présentiel
évaluation orale
Explications complémentaires:
Projets, labos, tests en ligne et examen oral. Il est à noter qu'un test QCM précédera l'examen oral: une note de plus de 50% doit être obtenue à ce test pour pouvoir participer à l'examen oral.
La note final est calculée comme la moyenne géométrique des diverses composantes (sauf le test QCM). Les étudiants qui n'auraient pas soumis la moitié des projets se verront attribuer une cote d'absence pour la session correspondante.
Toutes les resoumissions sont individuelles.
Il n'y a aucune garantie de suivi pour les projets qui doivent être remis en deuxième session.
Stage(s)
Remarques organisationnelles et modifications principales apportées au cours
Contacts
- Coordinateurr: L. Mathy
- Assistants: Gaulthier Gain et Benoit Knott