16
GEF 435 Principes des systèmes d’exploitation Structure des systèmes d’exploitation (Tanenbaum 1.7)

GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Embed Size (px)

Citation preview

Page 1: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

GEF 435Principes des systèmes d’exploitation

Structure des systèmes d’exploitation(Tanenbaum 1.7)

Page 2: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Synopsis

• Structure des systèmes d’exploitationSystèmes monolithiquesSystèmes en couchesMachines virtuellesExonoyaux (Exokernels)Model client serveur

• Sommaire du chapitre un

Page 3: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Structure des SE

• Jusqu’à date notre étude des SE a été du PDV des programmeursConcerné principalement avec les interfaces

• Comment est-ce que les SE sont structurés?MonolithiquesEn couchesMachines virtuellesExonoyauxModel client-serveur

Page 4: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Systè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 c’te bibitte

Page 5: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Systè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: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Systèmes en couches

• 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

Page 7: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Systè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 objetPas de matériel

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

fonctions d’un niveau plus bas

Page 8: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Machines Virtuelle

• Quelles sont les deux fonctions d’un SE?Gestionnaire de ressourcesFournir 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 ressourcesDes copies entières et virtuelles du matériel sont

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

Page 9: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Machines 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: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Exonoyaux

• 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émoireBlocs de disque

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

Page 11: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

• 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 SEUn 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-Serveur

Page 12: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Model 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 (plug pour 466)

Page 13: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Sommaire du chapitre 1

• Où est-on?Nous avons vus un synopsis des concepts que nous

allons explorer plus en profondeur durant le cours• Vues d’un système d’exploitation

• Types de systèmes d’exploitation (mainframe, etc)

• Revue du matériel (processeurs, mémoire, E/S, Bus, etc.)

• Concepts des SE (processus, interblocage...)

• Appels de système

• Structure des SE

Page 14: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Quiz Time!

• Surprise…un vrai quiz! (pas de notes par contre...)

• 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 15: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Quiz Time!

• 3) Quelles de ces instructions devraient être seulement permis en mode noyau: a) Désactiver les interruptionsb) Lire l’horloge c) Régler l’horloge pour l’heure du joursd) 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?

Page 16: GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)

Quiz Time!

• 5) Quelle est la différence entre une trap et un interruption?