GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
Synopsis Structure des systèmes dexploitation Systèmes monolithiques Systèmes en couches Machines virtuelles Exonoyaux ( Exokernels ) Model client serveur Sommaire du chapitre un
Structure des SE Jusquà date notre étude des SE a été du PDV 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
Systèmes Monolithiques Dans ce genre dorganisation, les SE ne sont rien de plus quune 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 dinformation ( information hiding ) dans cte bibitte
Systèmes Monolithiques Est-ce quil y a une structure implicite à cause de la façon demployer 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
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 dexploitation THE
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 objet Pas 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 lutilisation de traps pour appeler les fonctions dun niveau plus bas
Machines Virtuelle Quelles sont les deux fonctions dun SE? Gestionnaire de ressources Fournir une machine étendue (interface) Lidée principale de la machine virtuelle est de séparer ces deux fonctions et de mettre laccent sur le partage de ressources Des copies entières et virtuelles du matériel sont présentées aux couches supérieurs. Exemple: VM/370
Machines Virtuelles Avantages: Chaque machine virtuelle peut exécuter un SE tout comme sur le matériel! Plus dun SE par machine! En séparant la machine étendue de la multiprogrammation chaque fonction est plus facile à entretenir Désavantage: plusieurs couches de traps
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émoire Blocs de disque Avantage: plus facile à gérer Désavantage: potentiel de gaspille de ressources
Quelle est un des problèmes majeurs avec les SE? Ils sont gigantesques! Moins que lon met dans le noyau, le plus facile ce sera dentretenir et amélioré le SE Un très petit noyau sappèle un micronoyau ( microkernel ) Si on enlève des fonctions du noyau du SE, ces fonctions doivent exister dans lespace utilisateur Comment les processus peuvent utiliser ces fonctions? Model Client-Serveur
Le noyau est maintenant un service de messagerie entre des serveurs multiples Chaque service est segmenté et administrable Un plantage dun serveur nentraîne pas un plantage du noyau Adaptable aux applications distribuées (plug pour 466)
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 dun système dexploitation Types de systèmes dexploitation (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
Quiz Time! Surprise…un vrai quiz! (pas de notes par contre...) 1) Pourquoi est-ce quune 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 à nimporte quel autre appel de procédure de bibliothèque (C library). Est-ce important pour le programmeur de savoir quelles appels de procédure de bibliothèque résultes en appels de systèmes?
Quiz Time! 3) Quelles de ces instructions devraient être seulement permis en mode noyau: a) Désactiver les interruptions b) Lire lhorloge c) Régler lhorloge pour lheure du jours d) Changer limage 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?
Quiz Time! 5) Quelle est la différence entre une trap et un interruption?