| ||||
Sigle : INF3723 Gr. 01 Titre : Systèmes d'exploitation Session : Automne 2018 Horaire et local Professeur : Logrippo, Luigi | ||||
1. Description du cours paraissant à l'annuaire : | ||||
ObjectifsAu terme de cette activité, 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. ContenuNotions 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 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) de deux heures par semaine. | ||||
2. Objectifs spécifiques du cours : | ||||
Faire connaître aux étudiants les fonctions principales d'un système d'exploitation. Familiariser les étudiants aux problèmes liés à la réalisation de ces fonctions et aux moyens de les résoudre (illustrations à partir des cas UNIX, Java avec "threads"). Faire acquérir de nouvelles approches de programmation (processus concurrents communicants avec partage des ressources) et les appliquer à des cas réels. À terme, les étudiants doivent être, non seulement au fait des problèmes des systèmes d'exploitation (synchronisation, communication, partage des ressources et interblocage), mais aussi capables d'appliquer les solutions appropriées. | ||||
3. Stratégies pédagogiques : | ||||
| ||||
4. Heures de disponibilité ou modalités pour rendez-vous : | ||||
Après le cours ou sinon envoyer un courriel au professeur : luigi.logrippo@uqo.ca | ||||
5. Plan détaillé du cours sur 15 semaines : | ||||
Semaine | Thèmes | Dates | ||
1 |
Introduction
Rappel : Structure des ordinateurs
|
05 sept. 2018 | ||
2 |
Structure des systèmes d’exploitation
Travail dirigé 1 (14 septembre 2018) : Introduction à Unix-Linux |
12 sept. 2018 | ||
3 |
Processus
Threads
Travail dirigé 2 (21 septembre 2018) : Processus en Unix-Linux |
19 sept. 2018 | ||
4 |
Ordonnancement des processus
Travail dirigé 3 (28 septembre 2018) : Ordonnancement de processus |
26 sept. 2018 | ||
5 |
Synchronisation des processus
Travail dirigé 4 (5 octobre 2018) : Les threads et leur utilisation |
03 oct. 2018 | ||
6 |
Semaine d'études |
10 oct. 2018 | ||
7 |
Interblocages
|
17 oct. 2018 | ||
8 |
Examen de mi-session Travail dirigé 6 (26 octobre 2018) : Les sémaphores en Java |
24 oct. 2018 | ||
9 |
Gestion de la mémoire (1)
Travail dirigé 7 (2 novembre 2018) : Problèmes de synchronisation, moniteurs |
31 oct. 2018 | ||
10 |
Gestion de la mémoire (2)
Travail dirigé 8 (9 novembre 2018) : Gestion de la mémoire |
07 nov. 2018 | ||
11 |
Mémoire virtuelle
Travail dirigé 9 (16 novembre 2018) : Mémoire virtuelle |
14 nov. 2018 | ||
12 |
Systèmes de fichiers
Travail dirigé 10 (23 novembre 2018) : Systèmes de fichiers |
21 nov. 2018 | ||
13 |
Systèmes d'entrée/sortie
Structure de la mémoire auxiliaire
Travail dirigé 11 (30 novembre 2018) : Discussion du devoir de programmation |
28 nov. 2018 | ||
14 |
Protection et sécurité
|
05 déc. 2018 | ||
15 |
Examen final |
12 déc. 2018 | ||
6. Évaluation du cours : | ||||
| ||||
7. Politiques départementales et institutionnelles : | ||||
| ||||
8. Principales références : | ||||
Notes du professeur
| ||||
9. Page Web du cours : | ||||
https://moodle.uqo.ca |