CSI 3531 Systèmes d’exploitation Nathalie Japkowicz 1
Objectifs du cours Connaître les notions de base des systèmes d'exploitations. Définir et prouver la nécessité des systèmes d’exploitations. Comprendre les fonctionnalités d’un système d’exploitation. 2
Quelques Informations Instructeur: Dr. Nathalie Japkowicz TA: TBA Bureau: SITE Courriel: (seul moyen garanti pour me contacter! ) Heures de Bureau: En personne: ▫Lundi 11h30-13h00 Sur Skype: par Rendez-Vous 3
Evaluation Devoirs (individuels)25 % ▫Devoir 1: Création de processus 9 Mai- 30 Mai ▫Devoir 2: Fils (Threads) 30 Mai-20 Juin ▫Devoir 3: Synchronization 20 Juin- 4 Juillet ▫Devoir 4: Mémoire Virtuelle 4 Juillet- 18 Juillet Examen de mi-session25 % ▫Lundi 13 Juin, en classe (2 heures 9h00-11h00) Examen Final50 % ▫Sera annoncé ultérieurement (Période d’examens: 27 Juillet-6 Aout) 4
Plan Introduction Définition des systèmes d’exploitation Principales fonctionnalités : Gestion des processus Gestion de la mémoire Système de gestion des fichiers 5
Plan detaillé 2 Mai: Introduction et Survol sur les SE (Chap 1 & 2) 9 Mai: Les Processus (Chap 3) 16 Mai: Les Fils (Threads) (Chap 4) 23 Mai: Fete de la Reine -- Relache 30 Mai: L’ordonnancement (Chap 6) 6 Juin: Revue + Synchronization de Processus (Chap 6) 13 Juin: Examen de Mi-Session 20 Juin: Interblockage (Deadlocks) (Chap 7) 27 Juin: Interblockage (Deadlocks) (Chap 7) [cont’ed] 4 Juillet: Gestion de la Mémoire (Chap 8) 11 Juillet: La Mémoire Virtuelle (Chap 9) 18 Juillet: Systemes de fichiers (Chap 11 & 12) 25 Juillet: Structure de Memoire de Masses (Chap 10) 6
Introduction Windows Mac Unix FreeBSD Solaris Linux Debian … 7
Système informatique Du logiciel Logiciels de bases Outils de développement et d’exécution de programmes Système d’exploitation Logiciels d’application Du matériel Introduction 8
Intermédiaire entre l’ordinateur et les applications/utilisateurs. Ordinateur : un ensemble de ressources (physiques + logiques) Ressources physiques : cpu, mémoires, périphériques Ressources logiques : fichiers, sessions, processus Définition des systèmes d’exploitation 9
Définition Fournir une interface d’accès simplifiée aux ressources. Gérer le partage efficace et équitable des ressources. Assurer le contrôle d’accès aux ressources. Le Système d’exploitation est un gestionnaire de ressources qui met en œuvre une machine virtuelle. 10
Gestion des processus Un processus c’est un programme en cours d’exécution. Problème : Un processeur ne peut exécuter qu'une seule instruction à la fois. But : Partager un (ou plusieurs) processeur entre différents programmes (les processus). 11
Gestion des processus Nouveau Prêt En attente En exécution Terminé Ressources non disponibles Ressources disponibles File d’attente Interruption Processeur disponible 12
Gestion des processus Types d’ordonnancement Sans réquisitionFIFOSJFAvec réquisitionRound RobinAvec priorité 13
Système de gestion des fichiers Un fichier est une unité de stockage logique de l’information. Attributs des fichiers : Nom, taille, type, protection, date, propriétaire,... Opérations sur les fichiers : Création, Ecriture/Lecture, Suppression, Concaténation (Append)... 14
Type de fichiers : exécutable, commande, texte,...Certains Systèmes d’exploitation supportent et reconnaissent le type de fichiers, d’autres non. Exemples : Windows utilise les suffixes des noms de fichiers :.exe,.bat,.txt,.com… Unix ne supporte pas le typage des fichiers. Système de gestion des fichiers 15
Objectif : organiser les fichiers Plusieurs organisations : répertoire à un niveau structure de répertoire à deux niveaux organisation arborescente (Unix, Ms-dos) Opérations : parcours, listage,... Système de gestion des fichiers 16
Gestion de la mémoire Permettre le partage de la mémoire. Permettre d'allouer des blocs de mémoire aux différentes tâches. Protéger les espaces mémoire utilisés Optimiser la quantité de mémoire disponible. But : Organiser la mémoire au mieux pour en tirer le maximum de performances 17
P 1 6 Mo P 2 2 Mo P 3 4 Mo P 12 Mo Mémoire disponible 10 Mo Mémoire disponible 10 Mo MonoprogrammationMultiprogrammation Mémoire physique coûteuse. Mémoire secondaire (disques, mémoire étendue,...) peu coûteuse. Utiliser la mémoire secondaire "comme" mémoire RAM. Gestion de la mémoire 18
Fournir un espace d’adressage indépendant de celui de la mémoire physique. Possibilité d’exécuter des programmes dont la taille excède celle de la mémoire physique. Espace d’adressage > espace physique Facilité de la mise en œuvre de la multiprogrammation. Gestion de la mémoire : Mémoire virtuelle 19
Gestion de la mémoire : Mémoire virtuelle Principe : Si un programme A veut s'exécuter alors qu'il n'y a plus de place en mémoire ?? Un "bout" d'un autre programme est "viré" en mémoire secondaire et remplacé par un "bout" de A. Un programme est découpé en bouts que l'on nomme pages, de taille fixe. Mémoires découpées en pages de même taille. 20
Gestion de la mémoire 3 X 0 X 2 1 X X Mémoire physique Espace d’adressage virtuel Disque La pagination case page 0 1 N n-1 21
Algorithmes de pagination De nombreux algorithmes : FIFO - First In First Out : ordre chronologique de chargement ; LRU - Least Recently Used : ordre chronologique d'utilisation ; LFU - Least Frequently Used ; Random : au hasard ; … 22