2017-2018 / INFO0940-1

Operating systems

Durée

30h Th, 6h Pr, 30h Proj.

Nombre de crédits

 Bachelier en sciences de l'ingénieur, orientation ingénieur civil5 crédits 
 Bachelier en sciences informatiques5 crédits 
 Master : ingénieur civil en informatique, à finalité5 crédits 
 Master en sciences informatiques, à finalité5 crédits 
 Master en sciences informatiques6 crédits 

Enseignant

Laurent Mathy

Langue(s) de l'unité d'enseignement

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 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".
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