Syst¨mes d'exploitation Introduction

  • View
    219

  • Download
    0

Embed Size (px)

Text of Syst¨mes d'exploitation Introduction

  • Systmes dexploitation

    (Operating Systems)

    IntroductionSITE : http://www.sir.blois.univ-tours.fr/mirian/

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 1/20

  • Quest-ce quun SE ?Ensemble de logiciels qui tournent en permanence sur un ordinateur et lecontrlent partir de son dmarrage (boot) et tant que celui-ci est allum.

    Exemples :

    Unix : Cr en 1969, rapidement multi-utilisateur, crit en langage C.

    Linux : Clone gratuit dUNIX pour les PC, open source.

    Mac OS : Premier proposer le concept des fentres, du glisser-dposer,la corbeille, le plug-and-play; aujourdhui possde le noyau Linux, avec uneinterface graphique lgante et ergonomique, et optimisation particuliredes traitement multimdia.

    MS-DOS (Microsoft disque operating system) : SE des premiers PC,mono-utilisateur, mono-tche, interface ligne de commande.

    MS-Windows : Inspir par linterface Macintosh; tout dabord, une coquillegraphique pour DOS. Seulement partir de Windows 95 nouscommenons assister un transfert de nombreuses fonctionnalits deDOS vers Windows.

    Windows NT : Systme dexploitation indpendent de DOS. Techniquementnettement suprieur Windows.

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 2/20

  • Systmesdexploitation

    Ordinateur: Sans le logiciel (software), machine sans utilit

    Deux types de logiciels:

    1. Programmes systmes (system programs): gre le fonctionnement delordinateur

    2. Programmes dapplication: excute le travail demand par les utilisateurs

    Systmes dexploitation: programme systme fondamental

    Contrle toutes les ressources de lordinateur

    Base sur laquelle les programmes dapplication sont crits

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 3/20

  • Systmeinformatique (1)

    Banking Airline Web

    system reservation browser

    Compilers Editors Command

    interpreter

    Operating system

    Machine language

    Microprogramming

    Physical devices

    Hardware, Programmes systme et Programmes dapplication

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 4/20

  • Systmeinformatique (2)

    1. Matriel (hardware) : Ressources informatique de base: CPU (UC: unitcentrale), mmoire, dispositifs E/S

    2. Systme dexploitation: Programme intermdiaire entre lutilisateur et le matriel

    3. Programmes dapplication: Comment utiliser le matriel pour rsoudre lesproblmes informatiques des utilisateurs

    4. Utilisateurs: Personnes, machines, autres ordinateurs

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 5/20

  • Rles du SELe systme dexploitation joue deux rles :

    1. dune machine virtuelle (abstraite)Le SE prsente au programmeur une interface daccs aux ressourcesde lordinateur (sous forme dappels systme). Ainsi le programmeur peutfaire abstraction des dtails de fonctionnement des ressources.

    Cette interface est fonde sur des objets abstraits dont les plusimportants sont les fichiers et les processus. Par exemple, leprogrammeur voit un disque comme une collection de fichiers qui peuventtre lus, crits et ferms

    2. dun administrateur de ressourcesLe SE gre lutilisation des ressources par diffrents utilisateurs et lesventuels conflits.

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 6/20

  • Buts dun SE1. Fournir un environnement o lutilisateur puisse excuter des programmes

    2. Rendre le systme informatique pratique pour lutilisateur

    3. Utiliser le matriel de faon efficace

    Definitions des systemes dexploitation

    Programme dallocation des ressources: grer et allouer des ressources

    Programme de controle: contrler lexcution des programmes des utilisateurs etlopration des dispositifs dentre/sortie

    Noyau (Kernel): le programme qui est excut tout le temps (tout les autres sontdes programmes dapplication)

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 7/20

  • volution des SESE: dvelopp pour faciliter lutilisation du matriel

    Projet et utilisation des SE ont engendr des modifications du matriel

    Vision historique des SE: les problmes des SE ont engendr des innovations dumatriel

    Les SE ont une histoire ancienne qui commence au moment o ils ontcommenc remplacer les oprateurs des ordinateurs jusqu aujourdhui avecdes systmes multiprogrammation.

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 8/20

  • Tches dun systmedexploitation

    Gestion de processus

    Gestion de la mmoire

    Gestion des fichiers

    Gestion des E/S

    Les programmes utilisateurs peuvent accder ces diffrentes fonctionnalits laidedes appels systme.

    Pour crer un systme aussi grand et complexe quun SE, il est ncessaire de ledcouper en pices plus petites

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 9/20

  • Pour partager les ressources, comment les SE peuvent assurer quun programme quifonctionne mal ne va pas causer des problmes lexcution dautres programmes?

    Avec une protection matrielle : le mode double.

    Le matriel permet 2 modes de fonctionnement:

    Mode moniteur ou superviseur ou systeme ou privilegie (Monitor mode,supervisor mode, system mode): excution de la part du SEInstructions privilgies: instructions machine risquant de nuire.Les instructions privilgies sont excutes seulement en modesuperviseur.

    Mode utilisateur (User Mode): excution de la part de lutilisateur.Sil se produit une tentative dexcuter une instruction privilgie, lematriel ne la ralise pas mais traite linstruction comme illgale et bloquele SE.

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 10/20

  • Fonctionnement enmode double

    Au moment dinitialiser le systme, le matriel dmarre en mode superviseur

    Ensuite le SE est charg et dmarre les processus utilisateurs en modeutilisateur

    Chaque fois quun droutement (trap) ou une interruption se produit, le matrielcommute du mode utilisateur au mode superviseur Chaque fois que le SE prend le contrle de lordinateur, il est en modesuperviseur Le systme commute toujours au mode utilisateur avant de donner la main un programme utilisateur

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 11/20

  • Certaines instructions sont privilgies, comme les instructions E/S.

    Comment un programme utilisateur peut donc excuter des E/S?

    En utilisant les appels systme

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 12/20

  • Appels systme (1)Un appel systme est une fonction fournie par le noyau (kernel) dun SE etutilise par les programmes sexcutant dans lespace utilisateur (endautres termes, tous les programmes distincts du noyau).

    Le rle du noyau est de grer les ressources matrielles et de fournir auxprogrammes une interface uniforme pour laccs ces ressources.

    Quelques appels systmes classiques :

    open, read, write et close qui permettent les manipulations sur lessystmes de fichiers,

    alloc, free pour allouer et dsallouer de la mmoire.

    Sur la majorit des systmes dexploitations, les appels systme peuvent treutiliss comme de simples fonctions crites en C.

    Sur la plupart des noyaux (notamment les noyaux monolithiques comme leNoyau Linux) les appels systmes sont implments par une instruction machine(interupt, supervisor call, ...) qui fait basculer le processeur dans le noyau enmode superviseur (en ayant convenablement pass les paramtres de lappelsystme, par exemple dans les registres).

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 13/20

  • Appels systme (2)Vu du programme applicatif, un appel systme est atomique (il sest excut-ventuellement en erreur- ou pas).

    Catgories

    8

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    >

    :

    1- Contrle de processus:

    charger, excuter, crer, terminer des processus, obtenir,

    signaler des vnements, librer de la mmoire, etc

    2- Manipulation de fichiers:

    crer, supprimer, ouvrir, fermer, lire, crire, repositionner,etc

    3- Gestion de priphriques:

    demander, librer, obtenir, attacher, etc

    4- Entretient dinformation:

    obtenir, dfinir lheure ou la date, dfinir les donnes du systmes

    5- Communications

    crer, supprimer des connexions de communication, envoyer,

    recevoir de messages, transfrer des informations sur les tats, etc

    Systemes dexploitation - Mrian Halfeld-Ferrari p. 14/20

  • Concepts de base (1)Processus : Un processus est un programme en excutionProgramme: entit passiveProcessus: entit active (compteur dinstructions)

    Fichier : une unit de stockage logique, cest--dire, un ensemble dinformationsen relation entre elles, qui est enregistr sur la mmoire auxiliaire (disque).

    Les processus utilisent la mmoire vive/cache/registres poursauvegarder leurs codes et leurs donnes; mais ces types de mmoiresont volatiles.

    Le stockage dans un fichier permet la prservation dune grande quantitdinformation de faon non volatile (rsiste la fin dun processus) et rendcette information disponible plusieurs processus.

    Systme de fichiers: Partie du SE responsable de la gestion de fichiers.

    Le SE tablit une correspondance entre les fichiers et les dispositifsphysiques (non volatile).

    Le systme de fichiers se prsente gnralement comme une structurearborescente de rpertoires (o