IFT-10544 SYSTÈMES D'EXPLOITATION Automne 2005 Jean-Marie Beaulieu Département d'informatique et de génie logiciel Université Laval Qu'est ce qu'un ordinateur ? (matériel + logiciel) Qu'est ce qu'un système d'exploitation ? Comment fonctionne un ordinateur ? Modèle en couches - superposition de logiciels Programme utilisateur Système d'exploitation MATÉRIEL Aperçu matériel MÉMOIRE Contrôleur CPU PÉRIPHÉRIQUES CPU et mémoire Processus NOYAU ? Progamme principal sous-routine CPU CPU contrôle le code (programme) ou le code contrôle le CPU ? CPU contrôle le code (programme) ou le code contrôle le CPU ? mémoire CPU Processus utilisateur NOYAU Image système --> contenu de la mémoire LES BUTS 1) Fournir un environnement de haut niveau 2) Assurer une utilisation efficace de l’ordinateur LES RÔLES 1) Fournir une extension du matériel (environnement de haut niveau) 2) Gérer les ressources (performance et protection) (mécanisme vs politique) 1) Les mécanismes 2) Les politiques (ou les algorithmes allocation) SYSTÈME DE FICHIERS Données Programme Root Données Programme Programme Données SYSTÈME D'EXÉCUTION SHELL Programme Programme Sub-dir Programme Données Programme VISION MATÉRIELLE MÉMOIRE Contrôleur PÉRIPHÉRIQUES CPU VISION DE L'USAGER PROCESSUS Opérations E/S Périphériques et Fichiers LES BUTS LES RÔLES LES COMPOSANTES le noyau les programmes systèmes la librairie système LES FONCTIONS 1) Allocation du CPU, chargement et exécution de processus, 2) Gestion de la mémoire, 3) Gestion des Entrées/Sorties, et 4) Gestion des fichiers. MÉMOIRE LES COMPOSANTES LE NOYAU Vecteur int + appel NOYAU LES PROGRAMMES SYSTÈMES FICHIERS PROGRAMMES SYSTÈMES DIR LIST COPY LA LIBRAIRIE SYSTÈME ¨ USAGER LIBRAIRIE SYSTÈME - read - write Texte Texte Programme Programme Compilation Librairie usager et autres modules objets Module Module Objet Objet Librairie Système Édition des liens Module Module Exécutable Exécutable Programmes Système Chargement NOYAU Exécution MÉMOIRE PROCESSUS MÉMOIRE Processus Processus Processus Gestion des Fichiers Gestion du CPU et de la Mémoire Gestion des E / S MATÉRIEL Système de Fichiers Terminal Système de Fichiers LES BUTS LES RÔLES LES COMPOSANTES le noyau les programmes systèmes la librairie système LES FONCTIONS 1) Allocation du CPU, chargement et exécution de processus, 2) Gestion de la mémoire, 3) Gestion des Entrées/Sorties, et 4) Gestion des fichiers. Gestion des Fichiers Allocation du CPU E/S Gestion de la Mémoire LES FONCTIONS DU NOYAU PRINCIPES OU CONCEPTION CONTRAINTES DE LES TYPES systèmes de traitement par lot ou en temps différé. (batch system) systèmes de traitement interactif ou en temps partagé. Environnement utilisateur mono-usager traitement par lot (batch) ou temps différé système interactif ou temps partagé système dédié ou temps réel Configuration des processeurs mono-processeur multiprocesseurs (dans une même machine, mémoire partagée, délai de communication négligeable). distribué (plusieurs machines reliées, délai de communication important) Organisation du noyau monolithique hiérarchisé machine virtuelle Programmes utilisateurs appels au noyau Bibliothèques Niveau utilisateur Niveau noyau Interface des appels système Sous-système de fichiers Sous-système de contrôle des processus Buffer cache Caractère Bloc Contrôleurs de Périphériques Contrôle de la partie matérielle Niveau noyau Niveau matériel Partie matérielle Communitation interprocessus Ordonnanceur Gestion de la mémoire programmes nroff sh Noyau ns io at ic pl ap d' a.out who ccp date Matériel comp as d'a pp lic ati on s cc wc ed ld vi grep es m m a r prog LE SYSTÈME UNIX ÉLÉMENTS D’ARCHITECTURE MATÉRIELLE 1) MMU (memory management unit) a) transformation de l’adresse logique en adresse physique b) protection des zones mémoire 2) Instruction privilégiée et mode système / mode usager 3) Interruption et appel au noyau appel au noyau (ou système) déroutement interruption de l’horloge signal d’interruption d’un périphérique IFT-10544 SYSTÈMES D'EXPLOITATION Automne 2005 Jean-Marie Beaulieu Département d'informatique et de génie logiciel Université Laval CHAPITRE 1 : LES DIFFÉRENTS VISAGES D'UN SYSTÈME D'EXPLOITATION CHAPITRE 2 : ENVIRONNEMENT ET LANGAGE DE COMMANDE DE UNIX CHAPITRE 3 : PROCESSUS ET ALLOCATION DU CPU CHAPITRE 4 : GESTION DE LA MÉMOIRE CHAPITRE 5 : LES ENTRÉES / SORTIES CHAPITRE 6 : GESTION DES FICHIERS CHAPITRE 7 : PROGRAMMATION CONCURRENTE ANNEXE : EXAMENS AUTOMNE 1999 1) Introduction rôles, composantes, fonctions et types. environnement usager de haut niveau. gestionnaire de ressources: mécanismes et politiques. principes de mise en oeuvre. éléments matériels et logiciels. 2) Le système UNIX introduction, interface usager. organisation du noyau: processus/mémoire et fichier/ES. commandes et programme 'shell'. système de fichiers. 3) Processus et allocation du CPU processus et bloc de contrôle (PCB). commutation de contexte. état d'un processus. politiques d'allocation du CPU. gestion de processus et de "threads". 4) Gestion de la mémoire partitions de la mémoire. chargement et déchargement. découpage en pages et en segments. mémoire virtuelle. pagination sur demande. 5) Gestion des entrées/sorties gestionnaires de périphériques. 6) Système de fichiers allocation d'espace sur disque. organisation sur disque. répertoires. 7) Programmation concurrente mécanismes de synchronisation. langage concurrent. section critique et exclusion mutuelle. sémaphores. interblocage. MÉTHODOLOGIE Cours magistraux. 3 laboratoires. Notes de cours obligatoires Manuels de référence recommandés •William Stallings, Operating Systems: internals and design principles. •Silberschatz, Galvin et Gagne, Principes Appliqués des Systèmes d'Exploitation avec java. •Silberschatz, Galvin et Gagne, Operating Systems Concepts. Vendus par la librairie Zone scientifique du Pavillon Adrien-Pouliot au local 3370 du Pavillon Adrien-Pouliot (ensuite au local 0128 ). ÉVALUATION 3 travaux de laboratoire 15 % • Utilisation de Linux (individuel) • Gestion du CPU et de la mémoire (2 par équipe) •Programmation concurrente (2 par équipe) 1er Examen ( Intro + CPU ) 33 % jeudi 13 octobre 2e Examen ( Mémoire + E/S ) 32 % jeudi 24 novembre Examen final ( Fichier + P.C. ) jeudi 15 décembre Aucune documentation n'est permise lors des examens. Congé de l'Université, le jeudi 8 décembre cours samedi le 3 ou 10 décembre 20 %