Programme des cours 2015-2016
INFO0940-1  
Operating systems
Durée :
30h Th, 6h Pr, 80h Proj.
Nombre de crédits :
Bachelier en sciences de l'ingénieur, orientation ingénieur civil5
Bachelier en sciences de l'ingénieur, orientation ingénieur civil5
Bachelier en sciences informatiques6
Bachelier en sciences informatiques6
Master en ingénieur civil en informatique, à finalité 5
Master en sciences informatiques, à finalité6
Nom du professeur :
Laurent Mathy
Langue(s) du cours :
Langue anglaise
Organisation et évaluation :
Enseignement au deuxième quadrimestre
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 du cours :
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) du cours :
  • 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".
PRE-REQUIS: INFO0946 ou INFO2009
CO-REQUIS: INFO0012
Activités d'apprentissage prévues et méthodes d'enseignement :
Le cours se composera de leçons ex-cathedra, de répétitions et de séances de laboratoire. Il y aura 1 projet de programmation (de groupe).
Mode d'enseignement (présentiel ; enseignement à distance) :
Cours hebdomadaire en présentiel. Répétitions et séances de laboratoire.
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 oral et 1 projet de groupe  (en plusieurs parties). Les projets comptent pour 40% de la cote finale, alors que l' examen compte pour 60%. Les étudiants qui n'auraient pas soumis le projet se verront attribuer une cote d'absence pour la session correspondante.
Il n'y a aucune garantie de suivi pour les projets qui doivent être remis en deuxième session.
Stage(s) :
Remarques organisationnelles :
Contacts :