Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale...

14
Module Module Systèmes d’exploitation Systèmes d’exploitation Chapitre 3 Structure des systèmes d’exploitation École Normale École Normale Supérieure Supérieure Tétouan Tétouan Département Département Informatique Informatique 2008-2009

Transcript of Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale...

Page 1: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

ModuleModuleSystèmes d’exploitationSystèmes d’exploitation

Chapitre 3

Structure des systèmes d’exploitation

École Normale SupérieureÉcole Normale SupérieureTétouanTétouan

Département InformatiqueDépartement Informatique

2008-2009

Page 2: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

2

SynopsisSynopsis

• Structure des systèmes d’exploitation– Systèmes monolithiques– Systèmes en couches– Machines virtuelles– Exonoyaux (Exokernels)– Model client serveur

Page 3: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

3

Structure des SEStructure des SE

• Jusqu’à date notre étude des SE a été du point de vue des programmeurs– Concerné principalement avec les interfaces

• Comment est-ce que les SE sont structurés?– Monolithiques– En couches– Machines virtuelles– Exonoyaux– Model client-serveur

Page 4: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

4

Systèmes MonolithiquesSystèmes Monolithiques

• Dans ce genre d’organisation, les SE ne sont rien de plus qu’une collection de fonctions à donner des services aux programmeurs

• Un autre nom pour cela? Un gros fouillis!• De base ce SE est une collection de

fonctions, compilées et liées ensemble, chaque fonction voit les autres et peut les appeler

• Pas de masquage d’information (information hiding) dans cette structure

Page 5: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

5

Systèmes MonolithiquesSystèmes Monolithiques

• Est-ce qu’il y a une structure implicite à cause de la façon d’employer le SE?– Un programme appel les procédures de service– Un set de procédures de service implémente les appels de

système– Un set de procédures utilitaires aide aux procédures de service

Page 6: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

6

• Chaque couche dans le système donne des services à la couche plus haute et demande des services à la couche plus basse

• Exemple: Le système d’exploitation THE

Systèmes en couchesSystèmes en couches

Page 7: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

7

Systèmes en couchesSystèmes en couches

• Le système THE fut essentiellement un aide pour faciliter le design parce que la séparation des couches n’était pas strictement observée – Un seul fichier objet– Pas de matériel

• Les systèmes futures ont ajouté du matériel pour garder les processus dans leurs propre espaces mémoire – Et aussi forcer l’utilisation de traps pour appeler

les fonctions d’un niveau plus bas

Page 8: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

8

Machines VirtuelleMachines Virtuelle

• Quelles sont les deux fonctions d’un SE?– Gestionnaire de ressources– Fournir une machine étendue (interface)

• L’idée principale de la machine virtuelle est de séparer ces deux fonctions et de mettre l’accent sur le partage de ressources– Des copies entières et virtuelles du matériel sont

présentés aux couches supérieurs.– Exemple: VM/370

Page 9: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

9

Machines VirtuellesMachines Virtuelles

• Avantages:– Chaque machine virtuelle peut exécuter un SE tout

comme sur le matériel! Plus d’un SE par machine!– En séparant la machine étendue de la multiprogrammation

chaque fonction est plus facile à entretenir

• Désavantage: plusieurs couches de traps

Page 10: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

10

ExonoyauxExonoyaux

• Les Exonoyaux rendent disponible un nombre de machines virtuelles au dessus du matériel

• Contrairement aux machine virtuelles ‘pures’, les exonoyaux fournissent seulement un sous-ensemble du matériel à chaque MV:– Mémoire– Blocs de disque

• Avantage: plus facile à gérer• Désavantage: potentiel de gaspille de

ressources

Page 11: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

11

• Quelle est un des problèmes majeurs avec les SE?– Ils sont gigantesques!

• Moins que l’on met dans le noyau, le plus facile ce sera d’entretenir et amélioré le SE– Un très petit noyau s’appèle un micronoyau

(microkernel)

• Si on enlève des fonctions du noyau du SE, ces fonctions doivent exister dans l’espace utilisateur

• Comment les processus peuvent utiliser ces fonctions?

Model Client-ServeurModel Client-Serveur

Page 12: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

12

Model Client-ServeurModel Client-Serveur

• Le noyau est maintenant un service de messagerie entre des serveurs multiples

• Chaque “service” est segmenté et administrable• Un plantage d’un serveur n’entraîne pas un

plantage du noyau• Adaptable aux applications distribuées.

Page 13: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

13

Quiz Time!Quiz Time!

• Surprise…un vrai quiz! 1. Pourquoi est-ce qu’une table de processus est

requise dans un système à temps partagé? Est-ce requis si on a un seul processus qui existe, et ce processus prend toute la machine jusqu’à sa terminaison?

2. Pour un programmeur, un appel de système ressemble à n’importe quel autre appel de procédure de bibliothèque (C library). Est-ce important pour le programmeur de savoir qu’elles appels de procédure de bibliothèque résultes en appels de systèmes?

Page 14: Module Systèmes dexploitation Chapitre 3 Structure des systèmes dexploitation École Normale Supérieure Tétouan Département Informatique 2008-2009.

14

Quiz Time!Quiz Time!

3. Quelles de ces instructions devraient être seulement permis en mode noyau:

a) Désactiver les interruptions

b) Lire l’horloge

c) Régler l’horloge pour l’heure du jours

d) Changer l’image de la mémoire (memory map)

4. Sur les premiers ordinateurs, la lecture et l’écriture de chaque octet ce faisait avec le CPU (ie: pas de DMA). Quelles sont les implications de cela sur un système à tâches multiples?

5. Quelle est la différence entre une trap et une interruption?