1 / 16

GEF 435 Principes des systèmes d’exploitation

GEF 435 Principes des systèmes d’exploitation. Structure des systèmes d’exploitation (Tanenbaum 1.7). Synopsis. Structure des systèmes d’exploitation Systèmes monolithiques Systèmes en couches Machines virtuelles Exonoyaux ( Exokernels ) Model client serveur Sommaire du chapitre un.

kimberly
Download Presentation

GEF 435 Principes des systèmes d’exploitation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Synopsis • Structure des systèmes d’exploitation • Systèmes monolithiques • Systèmes en couches • Machines virtuelles • Exonoyaux (Exokernels) • Model client serveur • Sommaire du chapitre un

  3. 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

  4. 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

  5. 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

  6. 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

  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 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 l’utilisation de traps pour appeler les fonctions d’un niveau plus bas

  8. Machines 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 copiesentières et virtuelles du matériel sont présentées aux couches supérieurs. • Exemple: VM/370

  9. 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

  10. 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

  11. Model Client-Serveur • 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?

  12. 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)

  13. 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

  14. 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?

  15. 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?

  16. Quiz Time! • 5) Quelle est la différence entre une trap et un interruption?

More Related