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

1 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Jean-Jacques Girardot

Présentations similaires


Présentation au sujet: "1 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Jean-Jacques Girardot"— Transcription de la présentation:

1 1 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Jean-Jacques Girardot girardot@emse.fr http://kiwi.emse.fr/ASI Sixième séance Système d’exploitation Cours Architecture des Systèmes Informatiques

2 2 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Plan  La notion de système d’exploitation  Les fonctions d’un système d’exploitation  BIOS  DOS et ses fonctions  Système multitâches  Gestion de la mémoire, vision applicative

3 3 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Notion de système d’exploitation  Définition générique : un programme s’exécutant sur une machine nue, et destiné à faciliter la mise en œuvre d’autres programmes sur cette machine  Exemples Moniteur d’un calculateur spécialisé, d’une calculette Système d’exploitation mono tâche, multitâches :  DOS “Disk Operating System”  UNIX, etc.

4 4 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Pourquoi ?  Fournir à l’utilisateur non pas un ordinateur “nu”, mais une combinaison plus puissante de logiciel et matériel  Fournir une vision “standard” / “compatible” d’outils développés indépendamment  Historiquement : optimiser l’utilisation des ressources de la machine : périphériques, mémoire, unité centrale  Aujourd’hui : simplifier le travail de l’utilisateur

5 5 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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 ? 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.

6 6 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Équipements…  Qu’est-ce qu’un “équipement” ? Un accessoire de la périphérie d’un ordinateur, dont on oublie souvent qu’il contient lui-même un processeur  disque  imprimante  modem…  Nature : 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…

7 7 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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”

8 8 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Que doit faire l’OS ?  Gérer les “périphériques” Lecteurs de rubans, cartes, bandes magnétiques, disques... Interface avec les moniteurs de ces équipements  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

9 9 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Support de haut niveau  Difficulté de réaliser les entrées/sorties sur la machine nue  Solutions 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 )

10 10 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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” (ou “programme”) au “mode système” Caractéristiques du “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

11 11 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Caractéristiques de l’appel système  Gestion du changement de mode Sauvegarder l’état du programme courant  Registres  Indicateurs d’état : PSW “Program Status Word”  sur PC : registre EFLAGS Passer en “mode système”  Décoder la raison d’être du changement  Décoder les paramètres

12 12 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

13 13 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

14 14 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

15 15 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Les interruptions du 80x86  16 interruptions et exceptions prédéfinies  “vecteurs” 0 à 8, 10 à 14, 16, 18  224 “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 19-31 Réservé

16 16 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Vision applicative du 80x86  Registres et mémoire visibles par le programmeur Mémoire 4 Go EIP

17 17 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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...

18 18 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Sous quelle forme se présente le BIOS  En général, une ROM Occupe un “segment” de mémoire  64 k à l’adresse F0000 si la carte mère a un bus ISA  128 k à l’adresse E0000 pour un bus EISA  Utilise une partie de la RAM 256 octets pour conserver l’état des E/S en cours  Gère une mémoire CMOS rémanente Décrit la “configuration” du système 64 octets ; alimentation par pile.

19 19 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Utilité ?  Complémentation du matériel de base de la machine  Tous les BIOS sont différents : cartes mères, périphériques, bus, constructeur…  Mise à jour possible Remplacement des ROM “Flash Bios” : bios réinscriptible  Offre une vision “standard”, pour le DOS, de la machine

20 20 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

21 21 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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 Ex : B401 movb $1,%ah CD21 int $0x21  MS-DOS préserve les valeurs des registres (sauf s’il fournit des résultats dans certains d’entre eux)

22 22 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Quelques exemples de fonctions  1 : lire un caractère au clavier. Résultat dans al  2 : écrire sur la console le caractère contenu dans dl  3 : lire un caractère depuis le port série. Résultat dans al  4 : écrire sur le port série le caractère contenu dans dl  5 : idem, sur l’imprimante  10 : écrire sur l’écran une chaîne de caractères dont l’adresse est contenue dans ds:dx, la chaîne se terminant par $  11 : consulter le clavier pour savoir si un caractère est disponible. al contient 0 ou 255.

23 23 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Gestion de périphériques  14 : positionnement du disque DOS par défaut. dl contient le numéro du disque à sélectionner  0=A, 1=B, 2=C… al reçoit en retour le nombre de disques “logiques”  25 : demander le numéro du disque par défaut résultat dans al  26, 27, 28 : opérations de contrôle diverses demande d’information sur un disque [nature, capacité, format…]  Opérations de lecture et d’écriture…

24 24 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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  c.f. cours sur gestion de la mémoire [à venir…]

25 25 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Contrôle des Processus  Arrêt d’un programme Fonction 4Ch (ou 0x4C ) : arrêt de l’exécution  DOS ne “revient” pas au programme  DOS ferme les fichiers ouverts, libère la mémoire Fonction 31h (ou 0x31 ) : arrêt de l’exécution, mais conservation du programme en mémoire.  TSR “Terminate and Stay Resident”  Exemple :  programmes remplaçant des parties du BIOS  virus…

26 26 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Contrôle des Processus  Chargement et exécution d’un programme Fonction 40h (ou 0x40 ) : “exec”  ds:dx pointe sur le nom du fichier à exécuter  “B:\DIR\SUB\PROG.EXE”  es:bx pointe sur un bloc de paramètres  informations passées au programme allant s’exécuter  al indique la fonction désirée  0 : charger et exécuter  1 : chargement seul  3 : chargement d’un “overlay”

27 27 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

28 28 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

29 29 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

30 30 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

31 31 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

32 32 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

33 33 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

34 34 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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  idem. lecture

35 35 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

36 36 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

37 37 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

38 38 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

39 39 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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…]

40 40 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

41 41 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

42 42 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

43 43 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

44 44 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

45 45 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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

46 46 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66.  Buddy system Mémoire partagée en blocs de taille 2 k A chaque demande, on fournit un bloc de 2 p octets, de taille minimale Allocation et libération [compactage] simple. Trous inutilisables.  Allocation par cellules de taille fixe [langage LISP] Autre types d’algorithmes demande de 14 ko demande de 3 ko demande de 1 ko

47 47 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Un exemple : Solaris 2.5  Algorithmes d’allocation de mémoire pour les applications Matériel : pagination, avec des pages de 4 ko Demande de plus de 2ko : 1 ou plusieurs pages allouées Demandes de 256 octets à 2ko : allocation par morceaux de page.  taille du morceau : puissance de 2. Gestion par zones  ex: 512 octets pour 327 demandés. Demandes de moins de 256 octets  micro allocation spécifique.

48 48 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. 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…


Télécharger ppt "1 École des Mines de Saint-Etienne. 158, cours Fauriel. 42 023 Saint-Etienne Cedex 2. Tél. 04 77 42 01 23. Fax. 04 77 42 66 66. Jean-Jacques Girardot"

Présentations similaires


Annonces Google