La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 1 Système Exploitation Après avoir vu les machines, nous voyons comment le système d’exploitation.

Présentations similaires


Présentation au sujet: "EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 1 Système Exploitation Après avoir vu les machines, nous voyons comment le système d’exploitation."— Transcription de la présentation:

1 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Système Exploitation Après avoir vu les machines, nous voyons comment le système d’exploitation les exploite. Plan des systèmes d’exploitation Processus, ordonnancement Commutation de contexte Gestion Fichiers Utilitaires Système répartis Présentation Windows NT

2 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 2 Introduction Un « Ordinateur » ne peut fonctionner qu’avec un Système d’exploitation : son rôle. Gestion de l’information : stockage, rechercher, communication Exploitation des programmes : lancer, arrêter, gérer,.. L'exécution des commandes d'entrée/sortie : Pas d’accès direct au matériel. la gestion de la mémoire, y compris la virtuelle. la gestion des fichiers la multi-programmation (« multi-tâche ») :

3 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 3 Questions Comment exécuter plusieurs programmes à la fois ? Et si ces programmes veulent tous accéder à l 'imprimante en même temps ? Et s'ils doivent échanger des informations Comment exécuter un seul programme avec plusieurs processeurs ? la sécurité (gestion des accès,...)

4 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 4 Tâches d’un Système Exploitation Exécution des commandes, avec un langages Gestion de la mémoire Gestion des fichiers Multi programmation Plusieurs programmes à la fois Accéder plusieurs à la fois sur la même ressource La sécurité

5 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 5 le rôle d’un système d’exploitation Offre aux utilisateurs une machine virtuelle plus simple d’emploi que la machine réelle (appels systèmes). Il gère et contrôle le matériel Gérer les “périphériques” Interface avec les moniteurs de ces équipements

6 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 6 Que doit faire l’OS ? Assurer le chargement du programme en mémoire “Chargeur”, ou “loader” Fourniture de la mémoire “Gérer” le programme chargé en mémoire Permettre son interruption, son redémarrage… Enchaînement des travaux Exemple : compilation, édition de liens, chargement et exécution

7 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 7 En supplément du SE Un langage de commande Divers utilitaires (compilateurs, éditeurs, outils, communication, gestion fichiers, sauvegardes,...) Une interface graphique pour l'utilisateur

8 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 8 Quelques SE

9 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 9 Caractéristiques de l’ordinateur nu Matériel : processeur, mémoire, périphériques Gestion de ces éléments Un périphérique tel qu’un disque est extrêmement compliqué à gérer Imprimante pour plusieurs machines Ligne de connexion à distance… Il faut disposer au minimum d’un ensemble de “sous- programmes” sachant prendre en charge ces tâches fastidieuses et répétitives

10 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 10 Qu’est-ce qu’un “équipement” ? Un accessoire de la périphérie d’un ordinateur disque imprimante modem… Une carte, avec des circuits spécialisés pour la gestion de l’équipement, des circuits de communication avec l’ordinateur principal, et un “moniteur” gérant un micro- processeur Moniteur ou driver

11 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 11 Moniteur Un moniteur a une vocation déterminée Service bien défini et toujours le même Programme chargé de contrôler un équipement ROM : contient le programme sous une forme inaltérable RAM : mémoire de travail Fournit une interface “standard” du point de vue logiciel Le matériel est “propriétaire” L’interface répond à une spécification “universelle” Exemples :  disque à la norme SCSI, IDE  imprimante “postscript”

12 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 12 Difficulté de réaliser les entrées/sorties sur la machine nue Appel de sous-programmes utilitaires liés avec le programme principal Chargement à chaque exécution, taille importante des applications Exemple : printf Appel de sous-programmes “systèmes” toujours présents “Noyau” [kernel] du système d’exploitation méthodes “spéciales” d’appel : “appel système”  une instruction spécifique génère une interruption ( trap )

13 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 13 Appel système Similaire à un appel de sous-programme : Passer des paramètres Réaliser une fonction Obtenir un résultat [code de retour] Différence : “changement de mode” Passage du “mode utilisateur” au “mode système”

14 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 14 Modes kernel ou “mode système” Permet l’utilisation d’instructions “privilégiées” interdites en mode programme et provoquent une erreur [exception] permet l’accès à toutes les ressources de la machine gestion des périphériques ensemble de la mémoire L’accès aux matériel oblige de passer par le mode Noyau ce qui protège la machine.

15 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 15 Gestion du changement de mode Sauvegarder l’état du programme courant Registres Indicateurs d’état : PSW “Program Status Word” Passer en “mode système” Décoder la raison d’être du changement Décoder les paramètres

16 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 16 Passage en “mode système” Évènements synchrones Instruction spéciale  Requête au système Erreur du programme : “exception”  Instruction illégale  Écriture dans une zone de mémoire protégée Évènements asynchrones Interruption “extérieure”  Provoquée par l’utilisateur [bouton reset]  Provoquée par un moniteur gérant un périphérique externe

17 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 17 Comment fonctionne une interruption ? Une interruption arrive “n’importe quand” Provoquée par le moniteur, ou le contrôleur d’une carte périphérique Changement de niveau électrique sur une/+ pattes du processeur Matériel : la “nature”, ou le “niveau” sont pris en compte Ensemble d’adresses de sous-programmes spécialisés pour chaque type d’interruption : le “vecteur d’interruption” Instruction de “retour” d’interruption

18 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 18 Gérer l’interruption Être complètement transparente au programme en cours - au moins pour une E/S Attente de la fin de l’instruction en cours Sauvegarde : registres, pile, indicateurs d’état, pointeur d’instruction Un code spécifique gère l’interruption Peut-on interrompre ce code ? Masquage/démasquage des interruptions Différents niveaux d’interruptions :  priorités relatives des interruptions

19 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 19 Les interruptions du 80x86 16 interruptions et exceptions prédéfinies  “vecteurs” 0 à 8, 10 à 14, 16, “interruptions” définissables par l’utilisateur 0 Division par zéro 1 Debug 2 Interruption Externe non masquable 3 Breakpoint [INT 3] 4 Overflow 6 Code opération illégal 7 Processeur mathématique absent 13 Protection mémoire Réservé

20 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 20 Vision applicative du 80x86 Registres et mémoire visibles par le programmeur Mémoire 4 Go EIP

21 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 21 Un exemple : le BIOS du PC “Basic Input/Output System” A quoi sert le BIOS ? Mise en œuvre du PC au démarrage  “POST” : Power-On Self Test Charger des programmes depuis une disquette ou un disque dur  Charger le DOS - Système d’opération du PC Assurer une gestion élémentaire des périphériques  Clavier, Écran, Ports d’E/S, cartes vidéo, etc...

22 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 22 Sous quelle forme se présente le BIOS En général, une ROM Utilise une partie de la RAM Gère une mémoire CMOS rémanente Décrit la “configuration” du système Tous les BIOS sont différents : cartes mères, périphériques, bus, constructeur…

23 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 23 Système Exploitation : Le DOS “Disk Operating System” MS-DOS Conçu par Microsoft à la demande d’IBM Première version : 1980 But : Gestion de plus haut niveau des périphériques Gestion du système de fichiers Enchaînement des tâches

24 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 24 Les services du DOS S’obtiennent à travers l’instruction INT 21h Paramètres dans des registres Un certain registre (ah) contient un numéro de fonction Autres paramètres éventuels dans des registres MS-DOS préserve les valeurs des registres (sauf s’il fournit des résultats dans certains d’entre eux)

25 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 25 Autres types de fonctions Gestion de l’heure / date Lire, écrire les informations concernant l’heure et la date Maintenues par un mécanisme spécifique : RTC, “real time clock” Gestion de la mémoire Allouer un bloc de mémoire Libérer un bloc de mémoire Modifier la taille d’un bloc de mémoire Possibilité d’influer sur les stratégies d’allocation

26 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 26 Gestion du système de fichiers Fonctions de haut niveau Ouverture de fichiers  Nom du fichier, nature de l’accès [lecture, écriture, màj] Création de fichiers Fermeture de fichiers Effacement, renommage de fichiers Lecture, écriture, déplacement de pointeur, etc... Traitement des anomalies, comptes-rendus

27 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 27 Résumé : BIOS et DOS BIOS : un “moniteur résident” qui offre des fonctions de bas niveau, et permet le chargement de DOS Fournit à DOS une vision “standard” de la machine DOS : un système d’exploitation qui : Assure l’enchaînement & la gestion des tâches Fournit aux programmes des services de haut niveau :  gestion de la mémoire  gestion des périphériques  en particulier, système de fichiers

28 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 28 Notion de “Tâche” DOS ne permet qu’un “travail” à la fois : Le programme de l’utilisateur,...ou DOS lui-même, réalisant une opération pour le compte de ce programme Système monotâche Avantages :  simplicité de conception, taille raisonnable, etc. Inconvénient :  utilisation médiocre des ressources de la machine

29 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 29 Système Multitâches Partage les ressources entre plusieurs processus Ressources : mémoire, processeur, périphériques… Processus : un programme en cours d’exécution Caractéristiques : Système plus complexe Nécessite des ordinateurs disposant de plus de ressources Permet une meilleure utilisation des caractéristiques de la machine  Exemple : programmes réalisant des E/S

30 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 30 Système Multi-utilisateurs Notion d’utilisateur : Personne “autorisée” à utiliser la machine Mécanisme d’authentification Notions de droits relatifs à une ressource [ex: fichier] Problèmes de protection et de partage des ressources. Peu de différences avec un système multi-tâches

31 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 31 Que partager : L’unité centrale Plusieurs programmes peuvent s’exécuter en même temps Une seule CPU, mais...  un programme réalise des E/S, pendant lesquelles la CPU est “inactive”  un autre programme peut utiliser la CPU pendant ces attentes Comment s’assurer d’un partage de temps équitable Permettre à tous les programmes de progresser régulièrement  pouvoir interrompre un programme, par exemple à intervalles de temps fixes : les horloges, “timers” Utiliser au mieux la CPU

32 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 32 Que partager : La mémoire centrale Plusieurs programmes peuvent cohabiter en mémoire  “bonne programmation”  mécanismes de protection mutuelle  système de gestion matérielle de la mémoire Comment fournir aux programmes la mémoire dont ils ont besoin, au moment où ils en ont besoin ?  gestion de la mémoire Les périphériques Les périphériques physiques  Imprimante :queues d’impression, ou “spool”  Disques :systèmes de gestion de fichiers

33 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 33 Comment partager : File d’attente Imprimante, requêtes disque Les données à imprimer sont conservées dans une file d’attente  espace mémoire, espace disque, priorités, etc... Les requêtes passent par l’intermédiaire de “tampons”  une suite d’écritures de petite taille sur un fichier est transformée en une seule écriture d’élément de taille plus importante

34 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 34 Périphériques Non directement connectés au bus Grande variété des équipements  La CPU ne peut “connaître” tous les types/modèles de périphériques : commandes très variées Débits non compatibles avec celui du bus Différentes représentations des données Module(s) d’entrée/sortie Assurer l’interface entre :  CPU & Mémoire  Équipement

35 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 35 Module d’entrée/sortie Interface processeur/équipement Vision “standard” d’une catégorie d’équipement  disque, imprimante, etc Réalise une partie de la “gestion” du périphérique  libère la CPU pour d’autres tâches Interface fournissant :  Contrôle  État  Données

36 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 36 Mémoire : les besoins L’informatique a toujours besoin de plus de mémoire Programmes plus ambitieux Programmes plus gourmands en mémoire A l’échelle d’une machine : plus de mémoire = plus de ressources, meilleure utilisation de celles-ci A l’échelle d’un programme : plus de mémoire = plus de “puissance individuelle”  besoins multipliés par 1.7 chaque année

37 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 37 Mémoire : les besoins de l’OS De la mémoire, encore plus de mémoire Besoins propres du système :  TSM [1976] : 8 ko. Solaris 2.4 [1996] : 14 Mo. Besoins “auxiliaires” du système :  Outils divers [mail, serveurs ftp, http, gestionnaire de fenêtres…] Répondre aux besoins des utilisateurs  Les applications deviennent de plus en plus grosses, tout comme les données manipulées  Le multi-tâche encourage à exécuter plusieurs applications simultanément

38 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 38 Mémoire : les besoins des programmes Mémoire Globale Variables et tableaux : toujours plus Mémoire locale Allocation automatique [connue du compilateur] Allocation dans la pile [ alloca ] Mémoire dynamique Allocation dynamique sous contrôle du programme  new / delete, malloc / free Allocation “transparente” [sous-programmes système, E/S, fenêtres…]

39 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 39 La vision “utilisateur” Gestion dynamique de la mémoire C : malloc, free C++ : new, delete Comment : l’allocateur de mémoire Procédures qui :  reçoivent les requêtes de l’application  gèrent de la mémoire, statique ou demandée au système  divisent les gros blocs pour répondre à des demandes fines  rassemblent les petits blocs libres si possible

40 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 40 malloc(), free() Allocation dynamique de mémoire dans le tas Fournir un bloc de mémoire de la taille demandée, situé à une adresse mémoire “convenable” void * malloc(size_t size); Prise en compte des particularités d’adressage du processeur Libérer un bloc de mémoire void free(void * ptr); ptr doit être null ou l’adresse d’un bloc fourni par malloc

41 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 41 new, delete() Vision C++ Création d’un objet = allocation de mémoire + initialisation Destruction d’un objet = gestion de la destruction + libération de la mémoire Primitives de “haut niveau” On peut utiliser new, delete, malloc et free dans un même programme Les objets créés par new doivent être libérés par delete La mémoire allouée par malloc doit être libérée par free

42 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 42 Gestion de mémoire par chaînage après une quatrième allocation zone libre Informations de contrôle après deux allocations après une libération après une troisième allocation La mémoire devient fragmentée. Une nouvelle demande de mémoire peut échouer car il ne reste plus de bloc de mémoire contiguë de taille suffisante

43 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 43 Aspects Type d’allocation First fit : le premier rencontré en partant du début de la liste Next fit : un first fit où l’on explore à partir de la position courante Best fit : on parcourt toute la liste pour trouver le “meilleur” libre Worst fit : on parcourt tout et on choisit le plus gros… Curieux ? Fragmentation de la mémoire Beaucoup de petits morceaux ne remplacent pas un gros bloc On ne peut, en général, pas déplacer les blocs de manière “transparente” aux programmes Influer sur l’algorithme d’allocation n’est qu’un pis-aller

44 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 44 Améliorations possibles Caractéristiques du chaînage Simple : allocation/désallocation plus rapide Double : réunification des blocs plus simple Séparer la liste des blocs libres et des blocs utilisés Listes multiples On maintient les blocs libres dans différentes listes, en fonction de leur “classe” de taille  allocation plus rapide  libération plus complexe

45 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 45 Bugs typiques dans les programmes Utiliser de la mémoire qui n'est pas/plus allouée Fournir en résultat d’une fonction l’adresse d’une variable locale Oublier de désallouer une zone allouée par malloc() Désallouer deux fois une zone allouée par malloc() Déborder d’une zone allouée par malloc() Ne pas tester le résultat de malloc() Utiliser alloca() sans en comprendre le fonctionnement Mélanger les allocations de haut et de bas niveau malloc / free et new / delete etc…

46 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 46 Commande de procédés industriels. Temps réel Un ordinateur qui contrôle un procédé industriel doit veiller sur un ensemble de paramètres physiques et engager des actions en fonction de leurs valeurs. Les délais de réponse peuvent être très courts et doivent être toujours garantis Les informations doivent être acquises sur les différents dispositifs d'entrés périodiquement. Le traitement de ces informations est effectué en un temps maximum T. Les fonctions de sécurité sont prioritaires avec un outil de gestion des priorités.

47 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 47 Systèmes transactionnels Gérer un ensemble d'informations structurées de grande dimension (Go), appelé base de données. Ces informations sont consultées, modifiées simultanément à partir d'un grand nombre de points d'accès, terminaux ou micro-ordinateurs. En cas d'interruption du service il faut pouvoir redémarrer les nombreuses activités parallèles de façon cohérente sans perte d'information, dans l'état exact où était le système avant cette interruption. On mesure les performances en nombre de transactions par secondes (TPS)

48 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 48 Systèmes en temps partagé Donner aux utilisateurs l'impression qu'ils sont chacun seul en face de la machine. Il faut donc ajouter les services adéquats pour tenir compte de l’utilisation par un grand nombre de personnes. Exemple : 90% du temps est utilisé pour la réflexion, soit 10% d’utilisateurs actifs. Si le SE alloue des tranches de temps de 50 ms à chacun  temps d'attente moyen = 0,5s pour 10 utilisateurs

49 EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 49 Donner un exemple de SE pour chaque type Ordinateur individuel DOS, Windows 95, 98,Millénium, Linux Temps réel MVS, RTE, … Systèmes transactionnels Gros Système, VMS Systèmes en temps partagé Les UNIX, Windows NT Server, W2000, XP à voir?


Télécharger ppt "EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/2005 - page 1 Système Exploitation Après avoir vu les machines, nous voyons comment le système d’exploitation."

Présentations similaires


Annonces Google