Introduction/survol du SE - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction/survol du SE

Description:

Faire un survol rapide des l ments d'ordinateurs le processeur ... Bris de mat riel (ex: erreur de parit en m moire) 23. Ordre s quentiel des interruptions ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 85
Provided by: mario224
Category:

less

Transcript and Presenter's Notes

Title: Introduction/survol du SE


1
Introduction/survol du SE
  • CSI3710 - Module 1
  • Lecture Chapitre 1 et 2 (Silberchatz)
  • Objectif
  • Faire un survol rapide des éléments dordinateurs
    le processeur (UCT), la mémoire, et
    lentrée/sortie.
  • Introduire les système dexploitations afin de
    comprendre son rôle et ses fonctions principales

2
Sujets du module
  • Les composantes principales de lordinateur
  • Organisation et Architecture dordinateur
  • Révision du CEG3531
  • Système dexploitation
  • Un premier aperçu
  • Services fournis par le système dexploitation
  • Réalisations principales des systèmes
    dexploitation
  • Caractéristiques et structure des SE modernes

3
Vue abstraite des composantes dun système
informatique
  • Lordinateur générale se divise en 4 composantes
    principales
  • Matériel
  • UCT, mémoire, appareils dentrée/sortie (E/S)
  • Système dexploitation
  • Contrôle le matériel et coordonne sont
    utilisation parmi les applications et
    utilisateurs
  • Programmes dapplications
  • Traitement de texte, compilateurs, fureteurs WEB,
    etc.
  • Utilisateurs

4
Vue abstraite des composantes dun système
informatique
5
Cest quoi un SE?
  • Vue de lutilisateur
  • Système personnel Système partagé
  • Système branché Système imbriqué
  • Pourquoi un SE?
  • Partage des ressources de lordinateur
  • Et sur un PC?
  • Mais quest ce que fait le SE?
  • Relation intime avec le matériel (en fait
    labstraction pour les applications)
  • Allocation du matériel (équitable le plus
    possible)
  • Contrôle dexécution, i.e., allocation du temps
    dexécution.
  • La définition dun SE?
  • Pas de définition universel
  • Cest le programme qui est toujours présent en
    mémoire le noyau

6
Sujets du module
  • Les composantes principales de lordinateur
  • Organisation et Architecture dordinateur
  • Révision du CEG3531
  • Système dexploitation
  • Un premier aperçu
  • Services fournis par le système dexploitation
  • Réalisations principales des systèmes
    dexploitation
  • Caractéristiques et structure des SE modernes

7
Matériel principal
  • Processeur (UCT)
  • Mémoire principale (mémoire réelle, RAM)
  • Contient le code et les données
  • Modules E/S (Contrôleurs E/S, processeurs E/S...)
  • matériel (avec registres ports E/S) pour
    transport des données entre UCT et périphériques
    comme
  • mémoire secondaire (ex disques rigides)
  • clavier, écran...
  • Équipement de communication
  • Interconnexion (ie Bus)
  • pour communication entre processeur(s), mémoire
    et modules E/S

8
Structure du Module E/S
  • Données du bus sont tamponnées dans le(s)
    registre(s) data register (ports E/S)
  • Le registre Status/Control contient
  • linformation sur le statut de lopération E/S
  • linformation de contrôle venant de lUCT
  • Le circuit I/O logic interagit avec lUCT via
    le bus.
  • Contient la logique spécifique à linterface de
    chaque dispositif

9
Registres de lUCT
  • Registres de Contrôle Statut
  • Généralement non disponibles aux programmes de
    lusager
  • lUCT en utilise pour contrôler ses opérations
  • Le SE en utilise pour contrôler lexécution des
    programmes
  • Registres Visibles (aux usagers)
  • disponibles au SE et programmes de lusager
  • Contient données, adresses et quelques bits de
    statut

10
Exemples de registres de contrôle statut
  • Le compteur dinstruction (PC)
  • Contient ladresse de la prochaine instruction à
    exécuter
  • Le registre dinstruction (IR)
  • Contient linstruction en cours dexécution
  • Le mot détat du programme (PSW)
  • Un registre ou groupe de registres contenant
  • bits de statut
  • bit dinterruption activé/désactivé
  • bit du mode dexécution superviseur(SE)/usager

11
Registres Visibles
  • Registres de données
  • manipulés par lusager pour opérations sur les
    données (ex ADD, MUL)
  • Registres dadresse
  • contient adresses de données et instructions
  • peut contenir seulement une partie de ladresse
    complète

12
Registres Visibles
  • Exemples de registres dadresse
  • Index/offset
  • contient la valeur dune adresse relative à une
    valeur de base
  • Pointeur de segment
  • contient ladresse de base.
  • Ladresse complète adresse de base index
  • Pointeur de pile
  • pointe au sommet de la pile

13
Registres Visibles
  • Bits détats
  • valeur assignée suite au résultat dune opération
  • Accessibles aux usagers mais non modifiables par
    ceux-ci
  • Exemples
  • sign flag
  • zero flag
  • overflow flag

14
Le cycle dinstruction de base
  • LUCT extrait linstruction (avec opérandes) de
    la mémoire.
  • Ensuite lUCT exécute cette instruction
  • Le compteur dinstruction (PC) contient ladresse
    de la prochaine instruction à extraire
  • Le PC est incrémenté automatiquement après chaque
    extraction

15
LUCT doit attendre après les E/Ss!
  • WRITE branche sur un pgm E/S (ex driver
    dune imprimante)
  • pgm E/S prépare Ie module E/S en (4)
  • lUCT doit attendre que la commande E/S soit
    terminée
  • Temps dattente est long
  • pgm E/S termine en (5) et communique le statut de
    lopération

16
Interruptions!
  • Les ordinateurs permettent aux modules dE/S
    dinterrompre lUCT.
  • Pour cela, le module E/S excite (assert) une
    ligne du bus de contrôle (ex INTR pour les PCs)
  • LUCT transférera le contrôle a un programme de
    gestion de linterruption (Interrupt Handler
    Routine) (faisant partie du SE)

17
Le cycle dinstruction avec interruptions
  • Après chaque instruction, lUCT examine sil y a
    une interruption
  • Sil ny en a pas, il extrait la prochaine
    instruction du programme
  • Sil y en a, il suspend le pgm en cours et
    branche lexécution sur le pgm de gestion de
    linterruption

18
Le pgm de gestion de linterruption (IH)
  • Est un pgm qui détermine la nature dune
    interruption et exécute les actions requises
  • Lexécution est transférée à ce pgm...
  • et doit revenir au programme initial au point
    dinterruption pour que celui-ci continue
    normalement ses opérations
  • Le point dinterruption peut se situé nimporte
    où dans le pgm
  • Lon doit donc sauvegardé létat du programme
    (ie PC PSW registres ...)

19
Traitement des interruptions
20
Les interruptions améliorent lutilisation de
lUCT
  • Le pgm E/S prépare le module E/S et exécute la
    commande E/S (ex impression dun char)
  • pgm E/S branche au pgm usager
  • code usager est exécuté durant lopération E/S
    pas dattente
  • pgm usager est interrompu (x) lorsque lopération
    E/S est terminée. Branchement au IH pour examiner
    le module E/S (statut de lopération)
  • branche ensuite au pgm usager

21
Interruption pour lE/S
22
Types dinterruptions
  • E/S
  • lorsquune opération E/S est terminée
  • Exception
  • Débordement de division
  • interdiction dexécuter une instruction
  • référence au delà de lespace mémoire
  • Minuterie
  • préemption dun pgm pour en exécuter un autre
  • Bris de matériel (ex erreur de parité en mémoire)

23
Ordre séquentiel des interruptions
  • Interruption désactivé durant lexécution dun IH
  • Les interruptions sont en attente jusquà ce que
    lUCT active les interruptions
  • LUCT examine sil y a des interruptions en
    attente après avoir terminé dexécuter lIH

24
Interruptions avec priorités
  • LIH dune interruption de priorité faible peut
    se faire interrompre par une interruption de
    priorité élevée
  • Exemple les données arrivant sur une ligne de
    communication doivent-être absorbées rapidement
    pour ne pas causer de retransmissions

25
Techniques de communication pour E/S
  • 3 techniques sont possibles
  • E/S programmées
  • Nutilise pas dinterruptions. LUCT doit
    attendre après chaque opération dE/S
  • E/S déclenchées par interruptions
  • LUCT peut exécuter du code pendant lopération
    E/S il est interrompu lorsque lopération est
    terminée.
  • Accès direct à la mémoire (DMA)
  • Un block de données est transféré directement
    à/de la mémoire sans passer par lUCT

26
E/S programmées
  • Module E/S exécute une action à la demande du
    processeur
  • Le module E/S ninterrompt pas le CPU lorsque E/S
    est terminée
  • LUCT doit constamment examiner le statut du
    module E/S

27
E/S déclenchées par INT
  • LUCT est interrompu par le module E/S lorsque
    les données sont disponibles
  • LUCT peut exécuter dautre code pendant lE/S
  • Pas dattente inutile
  • Mais chaque mot échangé transit par lUCT et
    requiert une interruption (ouf!)

28
Accès direct à la mémoire (DMA)
  • LUCT fait sa requête au module DMA (module
    séparé ou intégré au module E/S)
  • Le module DMA transfert un block de données à/de
    la mémoire (sans passer par lUCT)
  • Il y a interruption lorsque le transfert est
    terminé
  • LUCT est sollicité uniquement au début et à la
    fin du transfert
  • LUCT est libre dexécuter du code pendant le
    transfert

29
Organisation hiérarchique de la mémoire
moins coûteuse plus grande capacity plus lente
Registres
mémoire cache
Mémoire principale
Disque magnétique
Fréquence d'accès réduite
Mémoire amovible
30
Une nouvelle idée la mémoire cache
  • Une petite qtée de mémoire rapide interagissant
    avec une mémoire plus lente mais de plus grande
    capacité
  • Invisible au SE mais interagit avec le matériel
    de la gestion de la mémoire.
  • Le processeur examine dabord si le mot désigné
    est dans la mémoire cache
  • Sil ny est pas, un petit block de mémoire
    contenant le mot est transféré de la mémoire
    principale à la mémoire cache.

31
Temps daccès
  • Le temps daccès est le temps requis pour amener
    le mot référencé au processeur
  • T1 temps daccès pour mémoire cache
  • T2 temps daccès pour mémoire principale
  • T temps daccès total pour amener le mot
    référencé au processeur
  • Si le mot référencé est dans le cache
  • T T1
  • Si le mot référencé nest pas dans le cache
  • Car ça coûte dabord T1 pour examiner le cache
    (et réaliser que le mot référencé nest pas là)
  • Ça coûte ensuite T2 pour amener le mot référencé
    de la mémoire principale au processeur (en même
    temps, le mot est aussi placé dans le cache)
  • Le temps daccès total est donc T T1 T2

32
Le taux de présence (Hit Ratio)
  • Taux de présence fraction des accès où la
    donnée est dans la mémoire cache
  • T2 gtgt T1
  • Le temps daccès moyen est près de T1 lorsque le
    taux de présence est près de 1

33
Groupement des consultations (locality of
reference)
  • Les accès à la mémoire sont groupés localement
    sur de longues périodes.
  • Exemple dans une boucle, les accès sont
    fréquents à un petit ensemble dinstructions.
  • Donc lorsquun mot est consulté, il est très
    probable que les mots voisins seront consultés
    fréquemment dans un avenir rapproché.
  • Donc le taux présence sera proche de 1 même avec
    une petite mémoire cache.

34
Mémoire Cache du disque (même principe)
  • Une portion de la mémoire principale utilisée
    pour tamponner temporairement les données du
    disque
  • Groupement des consultations lorsquun
    enregistrement est consulté, il est très probable
    que les enregistrements voisins seront consultés
    fréquemment.
  • Si lenregistrement nest pas dans le cache, le
    secteur du disque contenant lenregistrement est
    copié dans le cache.

35
Fonctionnement de lordinateur moderne
36
Sujets du module
  • Les composantes principales de lordinateur
  • Organisation et Architecture dordinateur
  • Révision du CEG3531
  • Système dexploitation
  • Un premier aperçu
  • Services fournis par le système dexploitation
  • Réalisations principales des systèmes
    dexploitation
  • Caractéristiques et structure des SE modernes

37
Fonctionnement dun ordinateur
  • Comment lordinateur démarre?
  • Programme de chargement (en mémoire ROM le
    micrologiciel).
  • Charge le noyau en mémoire et lexécute.
  • Exécution du noyau (est ainsi les applications).
  • Noyau exécute lors dinterruptions
  • Interruption du matériel.
  • Interruption logique des applications lappel
    système (en détail plus tard)
  • Erreurs division par zéro, violation daccès de
    mémoire par une application, etc.

38
Le mode usager et le mode noyau
  • Opération en mode double permet au ES de se
    protéger ainsi que dautres composantes
  • Mode usager et mode noyau (ou supervision)
  • Bit mode se retrouve dans le matériel
  • Distingue le mode (usager ou noyau)
  • Certaines instructions sont privilégiées
  • Appel au SE change le mode à noyau et le retour
    de lappel le rechange au mode usager.

39
Transition du mode usager au mode noyau
  • Minuterie empêche les processus de saccaparer du
    système
  • Un interruption après un délai de temps
  • SE décrémente un compteur
  • Lorsque le compteur est zéro, change de processus
    ou termine le processus.
  • Configurer avant de donner le contrôle au
    processus pour reprendre le contrôle ou terminé
    le programme.

40
Multiprogrammation
  • Tout programme faisant une lecture sur un
    périphérique doit attendre que lopération E/S
    soit terminée
  • Les interruptions sont plus utiles lorsquun
    processeur est partagé parmi plusieurs processus
    concurrents.
  • LUCT peut alors exécuter un autre programme
    lorsquun programme attends quune opération E/S
    soit terminée.

41
La structure dE/S du noyau
42
Sujets du module
  • Les composantes principales de lordinateur
  • Organisation et Architecture dordinateur
  • Révision du CEG3531
  • Système dexploitation
  • Un premier aperçu
  • Services fournis par le système dexploitation
  • Réalisations principales des systèmes
    dexploitation
  • Caractéristiques et structure des SE modernes

43
Système dexploitation (SE)
  • Est un programme contrôlant lexécution des
    applications
  • Le SE doit céder le contrôle aux programmes
    usagers et le reprendre correctement
  • Dit à lUCT quand exécuter tel programme
  • Cest linterface entre les programmes (et
    lutilisateur) et le matériel
  • Masque les détails du matériel aux applications
  • Le SE doit donc tenir compte de ces détails

44
Les couches logiques dun système
Utilisateur
Programmeur
Applications
Développeur de SEs
Logiciels utilitaires
Système dexploitation
Matériel
45
Services offerts aux utilisateurs
  • Interface dutilisateur
  • Interface graphique (GUI), interface de ligne de
    commande (CLI)
  • Donne accès au programmes systèmes Windows
    Explorer, mkdir, ls, etc.
  • Exécution de programme
  • Charger un programme en mémoire et lexécuter
  • Manipulation des systèmes de fichiers
  • Création et suppression des répertoires et
    fichiers
  • Recherche
  • Lecture et écriture des fichiers
  • Listes de fichiers
  • Gestion des permissions

46
Services offerts aux programmes dutilisateurs
  • Opérations dentrée/sortie
  • Laccès au matériel se fait par le noyau pour le
    programme exécutant
  • Communications
  • Communication entre programmes dun même
    ordinateur ou avec ceux dautres ordinateur
  • Peut se faire avec la mémoire partagée ou des
    messages
  • Composer avec les erreurs
  • Détection
  • Erreurs du matériel (internes ou externes) la
    mémoire, défaillance dun dispositif E/S
  • Erreurs du logiciel débordements, interdiction
    daccès à une case mémoire
  • Impossibilité pour SE de satisfaire requête
  • Réaction juste rapporter lerreur à
    lapplication, essayer de nouveau lopération,
    suspendre lapplication

47
Lappel système
  • Linterface qui offre les services du SE au
    programmes
  • Control de processus pour exécuter un programme.
  • Gestion de fichier création/ouvrir/lire/écrire
    un fichier, liste dun répertoire.
  • Gestion dappareil demande/relâche dun appareil
  • Gestion dinformation gestion de lheure,
    attributs des processus et fichiers
  • Communication ouvrir/fermer un connexion,
    envoyer/recevoir des messages

48
Appel système (suite)
  • Normalement écrit avec langage de programmation
    haut niveau (par exemple le C).
  • Implémenter avec linterruption logicielle
  • Linterruption logicielle change le bit mode au
    mode noyau et fait appel au sous-programme
    approprié selon un tableau dappels systèmes et
    le numéro dinterruption
  • À la fin du sous-programme, le mode redevient le
    mode usager et des valeurs sont retournées au
    programme appelant.

49
API de lappel système
50
Comment accéder aux appels systèmes
  • Accéder souvent par les programmes avec une
    interface de programmation dapplication (API) et
    non pas lappel système directement
  • APIs commun
  • Win32 pour Windows
  • API POSIX pour systèmes POSIX
  • UNIX, Linux et MAC OS X
  • API Java pour la machine virtuelle Java (JVM)
  • Le programme appelant ne connait rien au sujet le
    limplémentation de lappel système.
  • Obéit tout simplement au normes de lAPI
    paramètres à fournir, valeurs de retour, et
    opération désirée
  • Les détails de linterface du SE sont cachés
    derrière lAPI.
  • Géré par la bibliothèque de lAPI (ensemble de
    fonctions fournit avec le compilateur)
  • Possible dutiliser les appels système directement

51
Exemple de lAPI standard en C
  • La fonction printf() qui fait un appel système
    write()

52
Services pour assurer efficacité et bon
fonctionnement
  • Allocation et gestion des ressources
  • Nécessaire pour desservir plusieurs utilisateurs
    et plusieurs programmes
  • Certaines ressources ont leur code de gestion
    spécifique
  • UCT, mémoire principale, système de fichier
  • Dautres sont gérés via un code général E/S
  • Comptabilité
  • Statistiques sur lusage des ressources par les
    utilisateurs
  • Protection et sécurité
  • Empêcher les intrus (usagers non autorisés)
    daccéder au système
  • Empêcher les usagers daccéder aux ressources qui
    ne leur sont pas destinées

53
Les SEs évoluent toujours
  • Doit sadapter au nouveau matériel. Exemples
  • Introduction des terminaux graphiques
  • Introduction du matériel de pagination
  • Doit offrir de nouveaux services, ex. support à
    laccès Internet
  • Le besoin de modifier régulièrement un SE impose
    une contrainte pour sa conception
  • constr. modulaire avec interfaces bien définies
  • méthodologie orientée objet

54
Sujets du module
  • Les composantes principales de lordinateur
  • Organisation et Architecture dordinateur
  • Révision du CEG3531
  • Système dexploitation
  • Un premier aperçu
  • Services fournis par le système dexploitation
  • Réalisations principales des systèmes
    dexploitation
  • Caractéristiques et structure des SE modernes

55
Principales réalisations des SEs
  • Pour rencontrer les exigences de la
    multiprogrammation et des systèmes à temps
    partagé, les SE nous ont apportés les
    réalisations suivantes
  • Processus
  • Gestion de la mémoire
  • Protection de linformation et sécurité
  • Ordonnancement et gestion des ressources
  • Structure du système

56
Difficultés rencontrées par les SEs
  • Synchronisation
  • un programme en attente dutilisation dun
    dispositif E/S doit recevoir un signal
  • Exclusion mutuelle
  • permettre à un seul programme à la fois
    deffectuer une transaction sur une portion des
    données
  • Impasse (deadlock)
  • lorsque plusieurs pgms attendent indéfiniment
    lun après lautre sans pouvoir continuer

57
Exemple dimpasse
  • Pgm A veux copier du disque1 au disque2 et
    sapproprie le contrôle du disque1
  • Pgm B veux copier du disque2 au disque1 et
    sapproprie le contrôle du disque2
  • Pgm A doit attendre que pgm B libère le disque2
    et pgm B doit attendre que pgm A libère le
    disque1.
  • Pgms A et B attendent indéfiniment

58
Processus
  • Introduit affin dobtenir une méthode
    systématique pour contrôler lexécution des
    programmes
  • Un processus est un pgm exécutable, avec
  • ses données (variables, tampons)
  • context dexécution ie. linformation
  • nécessaire à lUCT pour exécuter le processus
  • contenu des registres du processeur
  • nécessaire au SE pour gérer le processus
  • priorité du processus
  • lévènement après lequel le processus est en
    attente
  • autres données (introduits au prochain chapitre)

59
Exemple simple de mise en application
Mémoire Principale
  • Le registre process index indexe la liste des
    processus avec le processus en cours (B)
  • Pour commuter du processus B au processus A on
    sauvegarde en mémoire le contexte de B et on
    charge les registres du contexte de A
  • Une structure de données flexible (pour ajouter
    de nouvelles caractéristiques)

Registres UCT
Index de processus
i
Liste de processus
i
PC
j
Base et limite
b
Contexte
h
Données
Processus A
Autres registres
Programme
. . .
b
Contexte
Données
Processus B
h
Programme
60
Gestion de la mémoire
  • Lidée centrale la mémoire virtuelle
  • Donne au programme un espace mémoire (adressable)
    logique qui est indépendant de la qte de mémoire
    physique disponible
  • Seule une partie à la fois dun programme en
    exécution est maintenu en mémoire
  • Les autres parties du pgm sont sur disque
  • le pgm à accès à un espace mémoire de dimension
    supérieure à celui de la mémoire réelle

61
Mémoire virtuelle
  • Chaque référence du pgm est à la mémoire
    virtuelle qui est constituée de
  • un espace linéaire (un seul block homogène)
  • une collection de segments (différente taille)
  • Les adresses virtuelles sont traduites par le
    matériel (mapper) en adresses réelles.
  • Sil y a référence à un mot dont ladresse
    virtuelle nest pas en mémoire
  • (1) une portion du contenu de la mémoire réelle
    est transférée au disque
  • (2) pour être remplacée par le block désiré

62
Le système de fichiers
  • Utilisé pour la sauvegarde à long terme (souvent
    sur disque)
  • linformation est sauvegardée dans des objets
    (ayant un nom) appelés fichiers
  • un unité daccès pratique pour le SE
  • Fichiers (et portions) peuvent-être copiés en
    mémoire virtuelle pour être manipulés par les
    programmes

63
Gestion des ressources et ordonnancement
  • Réactions différentes
  • doit discriminer entre processus de différentes
    classes
  • Équité
  • ne pas discriminer entre processus de même classe
  • Efficacité
  • maximiser la capacité de traitement, minimiser le
    temps de réponse, et accommoder le plus
    dutilisateurs possible

64
Éléments clefs pour lordonnancement
  • Le SE maintient des files dattente de processus
    attendant la disponibilité dune ressource
  • file dattente à court terme de processus en
    mémoire prêts à être exécutés
  • Le répartiteur de tâches (dispatcher) décide qui
    sera le prochain à sexécuter
  • file dattente de nouvelles jobs
  • le SE ne doit pas admettre trop de processus
  • file dattente pour chaque dispositif E/S
    constituée de processus désirant lutiliser

65
Structure du système
  • En raison de sa complexité, un SE est structuré
    en couches
  • Chaque couche se limite à effectuer un nombre
    restreint de fonctions
  • et dépend de la couche inférieure pour exécuter
    des fonctions plus primitives
  • Interfaces bien définies une couche peut-être
    modifiée sans affecter les autres
  • Décomposition dun problème en plusieurs plus
    petits problèmes

66
Sujets du module
  • Architecture dordinateur
  • Système dexploitation
  • Services fournis par le système dexploitation
  • Évolution des systèmes dexploitations
  • Réalisations principales des systèmes
    dexploitation
  • Caractéristiques et structure des SE modernes

67
Caractéristiques dun SE moderne
  • De nouveaux concepts furent introduits récemment
  • En réponse au nouveau matériel
  • machines à processeurs multiples
  • réseaux à grande vitesse
  • UCT plus rapides et plus de mémoire
  • En réponse au nouveau logiciel
  • applications multimédia
  • Internet et accès au Web
  • applications client/serveur

68
Structure de système - Approche simple
  • MS-DOS - cherchait à obtenir une fonctionnalité
    maximale avec des ressources limitées
  • mono-tâche, mono-usager
  • pas très modulaires
  • manque de séparation claire entre couches
  • accès direct aux périphériques (écran, etc.)
    permis aux programmes dapplication
  • manque de contrôles, vulnérabilité
  • malheureusement, il fut adapté à des
    fonctionnalités plus complexes...

69
Couches du MS-DOS
70
Structure UNIX
  • Multi-tâches, multi-usagers depuis le début
  • Le système UNIX initial était aussi préoccupé par
    les limitation du matériel
  • Distinction entre
  • programmes du système
  • noyau
  • tout ce quil y a entre l interface des appels
    de système et le matériel
  • fournit dans une seule couche un grand nombre de
    fonctionnalités
  • système fichiers, ordonnancement UCT, gestion
    mémoire...
  • Plus modulaire et protégé que MS-DOS

71
Structure UNIX peu de couches
72
Micronoyaux (microkernels)
  • Dans les premiers SE, aussi UNIX, tout était dans
    le noyau
  • Après, un effort fut fait pour laisser dans le
    noyau UNIX seulement les fonctionnalités
    absolument nécessaires
  • Une des fonctionnalités du micro noyau UNIX est
    la communication par échange de messages
  • utilisé pour la communication entre programme
    client et service

73
Structure à couches dans OS/2 (IBM) (suit les
idées dUnix)
L OS/2 était beaucoup mieux organisé que MS-DOS,
et donc moins vulnérable. Cependant il était peu
performant. Win-NT a cherché à utiliser des
principes semblables, mais avec une intégration
meilleure des couches.
74
Structure client-serveur dans noyau Win-NT
Win-NT a un petit noyau qui fournit une structure
client-serveur, en utilisant échanges de
messages Supporte différents SE Win, OS/2, Posix
75
Modules
  • Beaucoup de SEs modernes utilises un approche
    avec modules
  • Approche orienté objet
  • Chaque composant est séparé
  • Échange se fait via des interfaces connues
  • Chaque module est chargé au besoin par le noyau
    (kernel)
  • Semblable à une structures de couches, mais plus
    flexible

76
Approche de modules de Solaris (UNIX)
77
Machines virtuelles le problème et la solution
  • Comment permettre de rouler différents SE sur une
    seule machine physique?
  • Pas évident, car chaque SE demande accès direct
    au matériel
  • SOLUTION Un programme qui crée une couche qui
    met à disposition plusieurs machines physiques
    virtuelles
  • Sur chacune, nous pouvons rouler un SE différent

78
Machines Virtuelles (série IBM3XX)
  • Virtuel en informatique dénote quelque chose qui
    n est pas réel, n est pas du matériel il est
    construit par le logiciel sur la base des
    ressources fournies par le matériel
  • Une machine virtuelle est une machine créée par
    des couche de logiciel
  • Elle peut avoir des caractéristiques identiques à
    la machine physique donnée
  • mêmes instructions, etc.
  • Plusieurs machines virtuelles peuvent être créées
    sur une machine physique donnée!

79
Une seule mach. réelle et un seul noyau(b) plus.
mach. virtuelles et plus. noyaux
80
Fonctionnement
  • Le système VM laisse exécuter normalement les
    instructions non privilégiées
  • Les appels au système sont exécutés par le
    système VM et les résultats sont passés à la
    machine virtuelle sur laquelle le processus
    exécute

81
Avantages
  • Chaque machine virtuelle peut utiliser un SE
    différent!
  • En théorie, on peut bâtir des machines virtuelles
    sur des machines virtuelles!
  • Protection complète, car les machines virtuelles
    sont complètement isolées les unes des autres
  • Un nouveau SE peut être développé sur une machine
    virtuelle sans déranger les autres

82
Implémentations
  • Le concept de VM est très utilisé pour permettre
    de rouler un SE sur un autre
  • P.ex. SUN, Apple, Linux permettent de rouler
    Windows sur leur plateforme,
  • Ils doivent fournir à Windows un environnement
    que Windows reconnaît comme son environnement
    Intel usuel

83
VMWARE sur Linux
84
Machine virtuelle de Java
Write a Comment
User Comments (0)
About PowerShow.com