IFT 2245 — Systèmes d'exploitation


Professeur: Stefan Monnier

Page Moodle du cours pour H2017.

Description

La bonne compréhension du fonctionnement d'un ordinateur est indispensable pour le métier d'informaticien. Ce cours vise à donner une vision d'ensemble sur les systèmes d'exploitation, c'est à dire le logiciel qui isole les logiciels d'application des réalités matérielles et s'occupe de gérer tous les composants matériels, les abstraires, et isoler aussi mutuellement les différentes applications et les différents utilisateur qui se partagent la même machine.

Sujets traités

Structures de systèmes d'exploitation, processus et concurrence, ordonnancement de processus, synchronisation, étreintes mortelles, gestion de mémoire virtuelle, opérations sur fichiers, implantation des systèmes de fichiers, gestion de la mémoire de masse, entrées-sorties, contrôles d'accès.

Manuel recommandé

Silberschatz, Galvin et Gagné, Operating System Concepts.

Autres manuels

Horaire

Jour Heure Lieu Type
Mardi 15h30-16h30 Z-255 Cours
Mercredi 14h30-16h30 AA-1360 Cours
Mardi 16h30-18h30 Z-255 Démonstration
22 fév 14h30-16h30 Z-345 Intra
25 avr 15h30-18h15 Z-317 & Z-350 Final

¡¡ Premier cours mardi 10 janvier !!

Le choix des salles n'est pas sous mon contrôle et est parfois changé sans préavis, donc dans le doute, faites plutôt confiance au formulaire insupportable de Synchro

Démonstrateurs

Aldo Lamarre et Frédéric Hamel seront vraisemblablement les démonstrateurs pour H2017.

--

Évaluation

Il y aura 45 points total pour les travaux pratiques et deux examens de 25 points chacun, plus 5 points sur les exercices hebdomadaires. La note finale sur 100 sera convertie en note litérale à la fin du cours seulement, selon un barème qui dépendra de la moyenne du groupe et de la répartition des notes des étudiants. Un total aux deux examens inférieur à 25 points (i.e. la moitié des points) est éliminatoire.

Les travaux pratiques sont à faire en groupe de 2 (jamais plus, et très rarement moins). Les exercices sont à faire seuls. Et les examens se font à livre fermé: vous n'avez droit qu'à une page de notes (recto) écrite à la main, pas de livre ni de calculatrice (ou autre bidule électronique) autorisés.

Rappel

Le plagiat et la copie sont des fautes graves passibles de sanctions disciplinaires. Dans ce cours, nous prendrons toutes les mesures que nous jugeons nécessaires pour dépister et contrer ce genre d'activités.

Envoyez vos courriels depuis une adresse à umontreal.ca plutôt que turlutu.com si vous voulez qu'il soient pris au sérieux plutôt qu'ils tombent dans l'oubliette du dossier spam.

La page Moodle du cours inclus un forum de discussions que je vous encourage à utiliser.


Notes de cours

Ces notes sont tirées de celles du livre, sauf les erreurs bien sûr.

Info sur le cours
Intro-duction
Processus
Threads
Synchronisation
Ordonnancement
Interblocage
Gestion mémoire
Mémoire virtuelle
Mémoire de masse
Systèmes de fichiers
Systèmes de fichiers avancés

Démonstrations

Les données de chaque démonstration seront placées ici.

Les exercices sont à faire individuellement, pas en groupe.

Exercices #1, à faire à la démo du 17 janvier (TeX source).
Exercices #2, à faire à la démo du 24 janvier (TeX source).
Exercices #3, à faire à la démo du 31 janvier (TeX source).
Exercices #4, à faire à la démo du 7 février (TeX source).
Exercices #5, à rendre à la démo du 14 février.
Exercices #6, à faire à la démo du 14 février (TeX source).
Exercices #7, à rendre à la démo du 21 février.
Vieil intra, à faire à la démo du 21 février.
Exercices #8, à faire à la démo du 7 mars (TeX source).
Exercices #9, à rendre à la démo du 14 mars.
Retour sur l'intra, à faire à la démo du 14 mars.
Exercices #10, à faire à la démo du 14 mars (TeX source).
Exercices #11, à rendre à la démo du 21 mars.
Exercices #12, à faire à la démo du 21 mars (TeX source).
Exercices #13, à rendre à la démo du 28 mars.
Exercices #14, à faire à la démo du 28 mars (TeX source).
Exercices #15, à faire à la démo du 4 avril (TeX source).
Vieux final, à faire à la démo du 11 avril.

Travaux Pratiques

TP #1

La donnée du travail et ses fichiers de soutient.

TP #2

La donnée du travail et ses fichiers de soutient.

TP #3

La donnée du travail et ses fichiers de soutient.


µMPS

Le simulateur µMPS de même que les outils de compilation croisée sont installés sur les machines du DIRO dans /u/monnier/2245. Vous pouvez commencer à les utiliser en ajoutant dans votre fichier de configuration quelque chose comme export PATH=${PATH}:/u/monnier/2245/bin (pour bash/sh/zsh) ou setenv PATH ${PATH}:/u/monnier/2245/bin (pour tcsh). Suite à quoi vous pouvez utiliser les commandes telles que umps2 pour lancer le simulateur ou mipsel-linux-gcc pour compiler un fichier C.

Vous pouvez aussi l'utiliser sur votre machine, soit en compilant localement µMPS ainsi que le compilateur croisé (pas trop difficile dans un GNU/Linux récent) ou simplement en utilisant les outils installés au DIRO à distance, en vous connectant à frontal avec ssh -X frontal.iro.umontreal.ca. Bien sûr cela présuppose que vous avez un serveur X qui tourne localement, ce qui est probablement le cas sous GNU/Linux, mais pas forcément sous d'autres systèmes d'exploitations.

Liens pour Emacs

GNU Emacs est l'éditeur recommandé dans ce cours pour écrire les programmes et les rapports. Parmi les bonnes ressources pour ce qui a trait à Emacs, nous trouvons le Emacs Manual en-ligne disponible dans le menu Help, l'Introduction to Emacs Lisp dans le menu Help (sous-menu More Manuals), le Emacs Lisp Reference dans le même sous-menu, la commande 'i' dans ces manuels, le groupe de discussion gnu.emacs.help, le Wiki, et la "refcard" qui est distribuée avec Emacs, dans un fichier nommé quelque chose comme /usr/share/emacs/24.5/etc/refcard.pdf.

Liens pour LaTeX

LaTeX est le système de préparation de documents utilisé dans ce cours. Il y a beaucoup de matériel en ligne disponible pour LaTeX. Une bonne documentation est disponible par exemple dans le "wikibook" sur LaTeX.