Chapitre 1 Introduction aux systèmes d`exploitation
Transcription
Chapitre 1 Introduction aux systèmes d`exploitation
Chapitre 1 Introduction aux systèmes d’exploitation Jean Privat Université du Québec à Montréal INF3172 — Principes des systèmes d’exploitation Automne 2016 Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 1 / 36 Introduction Générale 1 Définition des systèmes d’exploitation 2 Revue matérielle d’un ordinateur 3 Rôles d’un système d’exploitation Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 2 / 36 Principes des SE Objectifs du cours Comprendre comment ça marche Savoir utiliser les services offerts par les SE Difficultés : plusieurs spécialités Algorithmique Architecture Programmation Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 3 / 36 Plan 1 Définition des systèmes d’exploitation 2 Revue matérielle d’un ordinateur 3 Rôles d’un système d’exploitation Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 4 / 36 Définition des SE Questions essentielles C’est quoi ? À quoi ça sert ? Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 5 / 36 Composantes d’un ordinateur Un ordinateur comporte Matériel Système d’exploitation Programmes faisant presque partie du « système d’exploitation » Programmes d’application Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 6 / 36 Composantes d’un ordinateur : Vision de l’utilisateur Système bancaire Montage Navigateur vidéo web Compilateur Éditeur de Interprète de commandes textes Système d’exploitation (noyau) Programmes d’application Programmes systèmes Langage machine Micro-architecture Matériel Dispositifs physiques Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 7 / 36 Éditeur de textes Interprète de commande Compilateur Navigateur web Montage vidéo Système bancaire Composantes d’un ordinateur : Vision du système d’exploitation Système d’exploitation Vision du SE = notre vision Une seule catégorie de programmes Pas d’accès direct entre les programmes et le matériel Matériel Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 8 / 36 Qu’est-ce qu’un SE ? Pas de définition formelle Ni sur le rôle d’un SE Ni sur les composantes d’un SE Plusieurs points de vue Noyau vs. SE au sens large Matériel vs. programmes vs. utilisateurs Mécanismes vs. Politiques Dept. Of Justice vs. Microsoft (en 1998) Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 9 / 36 SE = Couche d’abstraction Abstrait la machine Cache certains détails que l’utilisateur n’a pas à connaître pour exploiter la machine Présente à l’utilisateur une machine virtuelle facile à utiliser et à programmer Offre des services abstraits Connaît Connaît les détails internes intimes de la machine Utilise les services concrets de la machine Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 10 / 36 SE = Couche d’abstraction Applications demandes de services abstraits Système d’exploitation demandes de services concrets Matériel Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 11 / 36 SE = Gestionnaire de ressources Répartir efficacement les ressources (limitées) entre les programmes Temps CPU Mémoire Périphérique (ex. disques, imprimante) Faire cohabiter pacifiquement plusieurs programmes et utilisateurs Protection mémoire Gestion des droits Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 12 / 36 SE = Gestionnaire de ressources Analogie : Le SE est le gouvernement de l’ordinateur Il ne sert à rien en soi Il permet la cohabitation entre les différents programmes, les différents utilisateurs et les différents matériel de l’ordinateur Il possède les capacités de permettre cette cohabitation (la force) Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 13 / 36 Types de SE SE SE SE SE SE SE SE SE de Mainframe (gros système) pour un serveur pour un multiprocesseur pour PC temps-réel tolérant aux pannes embarqué pour carte à puce Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 14 / 36 Plan 1 Définition des systèmes d’exploitation 2 Revue matérielle d’un ordinateur 3 Rôles d’un système d’exploitation Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 15 / 36 Revue matérielle d’un ordinateur CPU Mémoire Moniteur Clavier Disque dur Controleur vidéo Controleur clavier Controleur disque Bus Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 16 / 36 CPU - Unité centrale de traitement N’est qu’une machine Ne sait pas ce qu’est un SE, un programme ou un utilisateur Exécute des instructions jusqu’a l’arrêt de l’ordinateur Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 17 / 36 CPU et registres Registres généraux Pour les calculs Registres spéciaux Compteur ordinal Pointeur de pile Mot d’état Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 18 / 36 Mémoire et stockage Compromis prix/vitesse La mémoire idéale n’existe pas Meilleur prix ⇒ meilleure capacité Hiérarchie de mémoire Registres Cache Mémoire centrale (RAM) Disques Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 19 / 36 Interruptions matérielles Permettre au matériel de signaler des évènements Appui d’une touche, nouveaux paquet réseau, etc. Complètement d’une commande Problème physique SE = Destinataire des interruptions Le SE configure le vecteur d’interruption (v) Le CPU exécute quelque chose Un contrôleur fait une requête d’interruption (IRQ) Le CPU exécute l’instruction à v[IRQ] Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 20 / 36 Interruptions matérielles (a) Étapes d’une opération d’E-S (b) Interruption du CPU Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 21 / 36 Plan 1 Définition des systèmes d’exploitation 2 Revue matérielle d’un ordinateur 3 Rôles d’un système d’exploitation Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 22 / 36 Rôles d’un système d’exploitation 4 grands rôles Gestion des processus Gestion de la mémoire Gestion de l’espace disque Gestion des périphériques (entrées-sorties) Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 23 / 36 Processus Processus = Programme en cours d’exécution Évolution des SE Monotâche → Multiprogrammation → Multitâche → Multiutilisateurs Tables des processus Informations relatives à chaque processus Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 24 / 36 Hiérarchie de processus (Unix) Arbre de processus A E B C F G A crée deux processus fils, B et C B crée deux processus fils, D, E, et F Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 25 / 36 Contexte d’exécution des processus En mémoire Programme Données (pile, tas...) Processeur Registres Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 26 / 36 Mémoire et processus Code P3 Data P3 Data P2 4G Chaque programme A accès (lecture/écriture) qu’à son propre espace Tout accès en dehors est physiquement interdit Le SE A accès à toute la mémoire Gère les limites physiques des programmes Code P1&2 Data P1 SE 0 Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 27 / 36 Ordonnancement des processus Besoin Un processus qui utilise le CPU doit pouvoir être délogé (puis relogée plus tard) Moyens mis en œuvre Utilisation des interruptions : périphériques et horloge Sauvegarde et restauration du contexte : opération coûteuse Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 28 / 36 Systèmes de fichiers Vision unifiée Indépendante du support matériel physique Arborescente Répertoires Répertoire courant par processus Chemins (absolus et relatifs) Sécurisé Gestion des droits Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 29 / 36 Appels systèmes Appel système L’exécution d’une routine du système d’exploitation Permet l’utilisation d’instructions sensibles normalement interdites aux processus utilisateurs Mode d’exécution du CPU Mode privilégié, noyau, maître Mode non privilégié, utilisateur, esclave Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 30 / 36 Appels systèmes Moyen Une instruction spéciale (TRAP) permet de basculer du mode utilisateur au mode noyau TRAP est spécifique à chaque architecture Objectif Permet de se brancher dans une zone mémoire exclusive au SE Mais on ne se branche pas où on veut Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 31 / 36 Fonctions systèmes En réalité, un programme utilise des fonctions système Les fonctions systèmes abstraient les appels systèmes Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 32 / 36 Appels systèmes : Exemple de read Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 33 / 36 Conclusion : Le SE au centre de tout Applications appels systèmes Système d’exploitation demandes d’interruptions Matériel Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 34 / 36 Interprète de commandes Shell C’est un programme Il ne fait pas partie du noyau Permet à l’utilisateur d’exécuter des commandes Exemple : bash Commandes De nombreuses commandes se contentent d’encapsuler un seul appel système. Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 35 / 36 Pages de manuel (man) Aide en ligne Pour le programmeur, pour l’administrateur, pour l’utilisateur Plusieurs sections 1. commandes shell (ex. cp, man) 2. fonctions systèmes (ex. read()) 3. fonctions de bibliothèques (ex. printf()) Jean Privat (UQAM) 01 — Introduction INF3172 — Automne 2016 36 / 36