Bienvenue! INF3723: Systèmes d’exploitation Luigi Logrippo luigi@uqo.ca http://w3.uqo.ca/luigi/
Ces notes de cours sont disponibles Dans Moodle INF3723 http://w3.uqo.ca/luigi/INF3723/notes_de_cours_index.html Chap 0
Évaluation Examen Intra (2h): 25% (le 24 octobre) Examen Final (3h) 40% (le 12 décembre) Examens à livre fermé – aucun doc permis Le final sera sur toute la matière du cours Devs. écrits et de programm. 35% 1 travail de programmation 20% 3 devs écrits: 15% Chap 0
Objectifs du cours Vous donner une appréciation de comment un SE fonctionne dans ses aspects les plus internes Qui sont aussi les plus importants pour son efficacité Vous expliquer quelques techniques et principes qui sont utilisés dans les SE mais sont utiles en général Vous exposer aux principes de la programmation parallèle, qui est gérée par le SE Chap 0
Contenu du cours Examens PARTIE 0: INTRODUCTION Revue des principales composantes d'un ordinateur. Structure générale des systèmes d'exploitation. PARTIE 1: PROCESSUS et GESTION d’UNITÉ CENTRALE Description et contrôle des processus. Fils (threads). Ordonnancement des processus Parallélisme: exclusion mutuelle et synchronisation. Parallélisme: interblocage et famine. PARTIE 2: GESTION DE MÉMOIRE Adressage et gestion de la mémoire. Mémoire virtuelle. PARTIE 3: FICHIERS, E/S ET PROTECTION Systèmes de fichiers, systèmes d’E/S Protection et sécurité Examens Chap 0
Accent en classe sur les concepts théoriques de longue durée de vie La programmation, l’application seront dans les sessions travaux dirigés Chap 0
Un cours très enchaîné … Dans quelques autres cours, chaque chapitre est un monde à part Pas dans ce cours! Chaque chapitre dépend des précédents Donc il faut s’assurer d’avoir bien compris les concepts de base d’un cours avant de venir au cours suivant Chap 0
Manuel de base: Je suis le manuel suivant: Silberschatz, Galvin, Gagne. Principes appliqués des systèmes d’exploitation, Vuibert Avantages: très clair dans la présentation présentation de SE réels utilise Java beaucoup de notions intéressantes et utiles Désavantages: beaucoup plus gros que nécessaire, La lecture du manuel est très utile pour une bonne compréhension de la matière – elle n’est pas essentielle Sauf indication contraire, les figures ‘images’ viennent du manuel Étant donné que ce manuel n’est plus à jour dans l’edition française et étant donné que personne ne l’a acheté l’an passé … je ne l’ai pas commandé pour la librairie mais vous en trouverez des copies à la bibliothèque, ainsi que des éditions plus récentes en anglais Chap 0
Manuels reliés dans la bibliothèque A. Silberschatz, P.B. Galvin, G. Gagne: Operating Systems Concepts with Java. QA 76 .73 J38 S55 2010 (celle-ci est l’original anglais du manuel) A. Silberschatz, P.B.Galvin, G. Gagne: Operating Systems Concepts. QA 76 .76 O63 S54 2012 W. Stallings: Operating Systems – Internals and Design Principles. QA 76 .76 O63 S82 2012 A. Tanenbaum: Systèmes d’exploitation. QA 76 .76 O63 T25414 2008 N’importe quelle édition de ces manuels est appropriée pour lectures supplémentaires Chap 0
Autres sources Le sujet de ce cours est un sujet classique en informatique donc beaucoup d’information peut être trouvée dans différents sites web Dans plusieurs cours, j’ai des diapos dans une section ‘matériaux supplémentaires’ Ces matériaux ne sont pas sujet d’examen Il s’agit de sujets reliés qui pourraient vous intéresser ou pourraient développer quelques points Chap 0
Travaux dirigés et Java Vendredis 13h TDs sur les concepts fondamentaux d’Unix-Linux TDs généraux en complément au concepts du cours TDs sur la programmation parallèle en Java Devoir de programmation final en Java Un langage qui facilite la programmation parallèle Est une norme (standard) publique, contrairement à des langages en concurrence (ex. C#) qui sont des langages d’une compagnie spécifique Java ne sera pas utilisé en classe: pseudocode sera utilisé au lieu Le test et l’examen contiendront des questions sur Unix et Java Chap 0
Travaux dirigés et devoirs Les devoirs seront constitués de: 20%: un travail de programmation final: Parallélisme Synchronisation de processus 15%: Exercices écrits sur la théorie vue en classe (probablement 3 ensembles d’exercices) Il y aura aussi des travaux de programmation pour l’étude de Java aux TDs Ces travaux ne seront pas notés mais des solutions seront données Ils seront une préparation au travail de programmation final Chap 0
Communication avec la classe Utilisation de Moodle Courriel personnel: luigi@uqo.ca Pour rendez-vous, je suis souvent dans mon bureau (B-2010), sinon envoyez-moi des courriels pour fixer une date-heure Chap 0
Pourquoi étudier les SE? Logiciel très important… Tout programme roule sur un SE Interface usager-ordinateur Les SE utilisent beaucoup d’algorithmes et structures de données intéressants Les techniques utilisées dans les SE sont aussi utilisées dans nombreuses autres applications informatiques il faut les connaître Une bonne compréhension des SE est aussi essentielle pour la compréhension de la cybersécurité et cybercriminalité Beaucoup de failles de sécurité sont des failles dans les SE Plusieurs méthodes d’investigation de la cybercriminalité exigent la compréhension du fonctionnement du SE Ch. 1 Chap 0 14