2023-2024 / INFO0940-1

Operating systems

Durée

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

Nombre de crédits

 Bachelier en sciences informatiques5 crédits 
 Master : ingénieur civil en informatique, à finalité5 crédits 
 Master : ingénieur civil en informatique, à finalité (double diplômation avec HEC)5 crédits 
 Master en sciences informatiques, à finalité5 crédits 
 Master en sciences informatiques, à finalité (double diplômation avec HEC)5 crédits 

Enseignant

Laurent Mathy

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

Langue anglaise

Organisation et évaluation

Enseignement au deuxième quadrimestre

Horaire

Horaire en ligne

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.
Ce cours contribue aux acquis d'apprentissage I.1, I.2, II.1, II.2, III.1, III.2, V.2, VI.1, VI.2, VII.2, VII.4, VII.5 du programme de bachelier ingénieur civil.

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

Association d'un ou plusieurs MOOCs