INF3723 - Systèmes d'exploitation

Scolarité

Premier cycle - 3,0 crédit(s)

Département

Département d'informatique et d'ingénierie

Objectifs

Au terme de ce cours l’étudiant.e sera en mesure de comprendre les fonctionnalités de base des systèmes d'exploitation et leur implémentation et de programmer des processus parallèles.

Contenu

Notions générales sur les systèmes d’exploitation et leur développement. Gestion de processus : états des processus et transitions d’états, files d’attente. Fils d'exécution (threads) et leur gestion. Processus parallèles et communication entre processus. Problèmes de synchronisation et techniques de synchronisation : sémaphores, moniteurs, méthodes synchronisées. Ordonnancement de l'unité centrale : différents algorithmes et leur évaluation. Interblocage de processus. Gestion de la mémoire centrale et de la mémoire virtuelle, différents algorithmes et leur évaluation. Fragmentation, pagination, segmentation et permutation. Systèmes de fichiers et leur implémentation, mémoire de masse. Sécurité : méthodes de protection des données et de contrôle d’accès. Application aux systèmes d'exploitation Unix, Linux et Windows, travaux pratiques sur la programmation concurrente. Ce cours comporte des séances obligatoires de travaux dirigés (TD).

Préalables

Exigences de qualification pour l'enseignement

Diplôme(s)
Diplôme de 2e ou 3e cycle en informatique
Expérience
Spécialisation académique en architecture et systèmes d'exploitation ou 3 années d'expériences dans le domaine.
Corps professionnel
Aucun
Autre(s) exigence(s)
Dans tous les cas, le candidat devra démontrer une capacité à transmettre et à communiquer tant oralement que par écrit, la matière du cours aux étudiants. Il doit faire preuve de professionnalisme, de respect envers les étudiants et les collègues, et démontrer un intérêt pour l'enseignement universitaire;

CAFF

6403 - Informatique appliquée