LOG710 Principes des systèmes d’exploitation et programmation système

Au terme de ce cours, l’étudiant aura acquis et appliqué les concepts, principes de base et techniques établies utilisés en génie logiciel pour l’analyse, la conception et l’implémentation des systèmes d’exploitation modernes.

Structures et architectures des systèmes d'exploitation : monolithique, en couche, micronoyau, et modulaire. Mode d’opération des systèmes d’exploitation : mode utilisateur, mode privilégié. Mécanisme des interruptions, appels systèmes et commutation de contexte. Concept de processus et fils d’exécution : bloc de contrôle de processus, état de processus et gestion de processus. Communication interprocessus : communication par échange de messages et par mémoire partagée. Synchronisation et coopération entre processus : exclusion mutuelle, sémaphores, mutex et moniteurs. Problème d’interblocage : graphes d’allocation de ressources et graphe d’attente, techniques de prévention, détection et évitement d’inter-blocage. Technique d’ordonnancement du processeur. Gestion de mémoire et système de mémoire virtuelle paginée. Système de gestion de fichiers. Fiabilité, protection et sécurité des systèmes d’exploitation. Étude de cas de système d’exploitation modernes.

Séances de laboratoire portant sur la programmation système incluant le processus de configuration, compilation et installation du noyau d’un système d’exploitation moderne, l’extension du noyau par implémentation de nouveaux appels systèmes et la conception et programmation de pilotes de périphériques.

Note sur les préalables : un seul des préalables est requis, soit GTI310 OU LOG320.

Crédits 3
Charge hebdomadaire Cours (3h), laboratoire (2h)
Cycle 1er
Préalables LOG320  
Responsable Département de génie logiciel et des TI
Horaire

Session: Automne 2019

Groupe Jour Type
01 Mercredi 08:30 Activité de cours

Session: Hiver 2020

Groupe Jour Type
01 Mardi 18:00 Activité de cours