Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Module Systèmes d’exploitation
BTS Génie Informatqiue École Normale Supérieure Tétouan Département Informatique Module Systèmes d’exploitation Chapitre 3 Structure des systèmes d’exploitation Enseigant : AAMMOU Souhaib
2
Module Systèmes d'exploitation
BTS Génie Informatqiue Synopsis Structure des systèmes d’exploitation Systèmes monolithiques Systèmes en couches Machines virtuelles Exonoyaux (Exokernels) Model client serveur Monolithic Layered Virtual Machine Exokernel Client-Server Enseigant : AAMMOU Souhaib
3
Module Systèmes d'exploitation
BTS Génie Informatqiue Structure 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 Enseigant : AAMMOU Souhaib
4
Systèmes Monolithiques
Module Systèmes d'exploitation BTS Génie Informatqiue 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 cette structure Guide them through this...make them come up with the idea of “just a bunch of procedures” if possible. Enseigant : AAMMOU Souhaib
5
Systèmes Monolithiques
Module Systèmes d'exploitation BTS Génie Informatqiue 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 Service would be the actual system calls. To use them the request would put the parameters in a well-known location (like the stack as previously discussed) and execute a Trap The OS would determine and call the requested service call As a number of service calls may need some common work done, they will call on a set of utility procedures that are not called requested directly by the user. Enseigant : AAMMOU Souhaib
6
Module Systèmes d'exploitation
BTS Génie Informatqiue 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 THE is Technische Hogeschool Eindhoven 1968 (Dijkstra) Enseigant : AAMMOU Souhaib
7
Module Systèmes d'exploitation
BTS Génie Informatqiue 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é 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 MULTICS fut le premier système à faire cela (anneaux concentriques) Enseigant : AAMMOU Souhaib
8
Module Systèmes d'exploitation
BTS Génie Informatqiue 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 copies entières et virtuelles du matériel sont présentés aux couches supérieurs. Exemple: VM/370 NOTE: this name is very very very confusing. It is not the same as the EXTENDED machine with the nice interface. In this case the virtual machine is an exact copy of the underlying hardware. Enseigant : AAMMOU Souhaib
9
Module Systèmes d'exploitation
BTS Génie Informatqiue 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 Note: in this example, CMS Conversational Monitor System is not a multi-threading OS (but I suppose it could be) Can ask them if this is like MS-DOS programs running is Windows XP. It’s similar, but not the same. The underlying hardware that will emulated in that case will be an 8086, which is what DOS expects, not a full Pentium model. You couldn’t run Windows in this emulation mode. Can VM/370 be run on top of VM/370? YES! Is Java like a Virtual Machine in this sense? Well, it doesn’t provide the underlying hardware to the upper level, but it does provide the same interface. The JVM is more like providing the same extended machine rather than acting as a resource manager...it’s more the opposite. Enseigant : AAMMOU Souhaib
10
Module Systèmes d'exploitation
BTS Génie Informatqiue 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 Exo in Latin is for “outside of” This kernel sort of exposes the machine interior by breaking it up into chunks Enseigant : AAMMOU Souhaib
11
Module Systèmes d'exploitation
BTS Génie Informatqiue 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? On se rappel qu’il y a seulement deux modes, noyau et utilisateur Enseigant : AAMMOU Souhaib
12
Module Systèmes d'exploitation
Model Client-Serveur BTS Génie Informatqiue 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. Note: some OS functions won’t be runnable purely from user space eg: loading commands into physical I/O device registers 2 ways to deal with it: Put a few critical server processes into the kernel, but have them communicate using the same system Put the required mechanism into the kernel, but have the servers make the policy decision, ie: the file server asks the kernel for a file. The kernel doesn’t verify the request to ensure validity, access, etc but does its job blindly (except of course limiting such requests Enseigant : AAMMOU Souhaib
13
Module Systèmes d'exploitation
BTS Génie Informatqiue Quiz Time! Surprise…un vrai quiz! 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? 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? Enseigant : AAMMOU Souhaib
14
Module Systèmes d'exploitation
BTS Génie Informatqiue Quiz Time! 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) 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? Quelle est la différence entre une trap et une interruption? Enseigant : AAMMOU Souhaib
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.