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

Allocation de mémoire. Concept de Base Mémoire virtuelle : –l'ensemble des informations potentiellement accessibles par le processeur –l'ensemble des.

Présentations similaires


Présentation au sujet: "Allocation de mémoire. Concept de Base Mémoire virtuelle : –l'ensemble des informations potentiellement accessibles par le processeur –l'ensemble des."— Transcription de la présentation:

1 Allocation de mémoire

2 Concept de Base Mémoire virtuelle : –l'ensemble des informations potentiellement accessibles par le processeur –l'ensemble des emplacements dont l'adresse peut être engendrée par le processeur. Allocation Mémoire –concrétiser la mémoire virtuelle mémoire réelle mémoire de masse (disque)

3 Allocation de mémoire Informations accessibles par un processus –l'ensemble des informations désignables dans son programme (objets) –l'ensemble des informations de désignations (noms) –la mise en correspondance noms/objets.

4 Allocation de mémoire Du texte au processus Etape de traduction –mise en correspondance objets : emplacement mémoire noms : adresses relatives correspondantes Etape d'édition de lien –liaison entre programmes traduits séparément Etape de chargement –affectation définitive des adresses

5 Allocation de mémoire Désignation, liaison / Allocation

6 Allocation de mémoire Organisation de la mémoire virtuelle n Mémoire virtuelle linéaire –emplacements organisés séquentiellement –adresses : entiers consécutifs n Mémoire virtuelle segmentée –ensemble de segments d ’informations de même nature –adresses : (numéro de segment, déplacement)

7 Allocation de mémoire Allocation Mémoire doit permettre à un processus d'accéder à un objet défini en mémoire virtuelle, en amenant en temps voulu cet objet en mémoire principale : –réaliser la correspondance entre adresses virtuelles et adresses physiques, –réaliser la gestion de la mémoire physique (allocation des emplacements, transfert de l'information) –réaliser le partage d'info entre utilisateurs; –assurer la protection mutuelle d'info appartenant à des usagers distincts.

8 Allocation de mémoire Le recouvrement (overlay)

9 Allocation de mémoire Le recouvrement –le découpage en segments est réalisé explicitement –la correspondance entre adresse virtuelles et physiques est réalisé une fois pour toutes, –les zones de mémoires affectées aux segments sont également allouées lors du chargement, –le transfert des segments entre mémoire principale et mémoire secondaire est réalisé, au cours de l'exécution du programme, par des instructions spéciales insérées dans le programme.

10 Allocation de mémoire Différentes Réalisations de l'Allocation Mémoire implantation statique –Correspondance virtuel/physique établie une fois pour toutes réimplantation dynamique –Correspondance virtuel/physique variable dans le temps

11 Allocation de mémoire Différentes Réalisations de l'Allocation Mémoire Physique par zones –de taille variable par pages –de taille fixe

12 Allocation de mémoire Politique d'allocation Idéale –l'information nécessaire à l'exécution de l'instruction en cours est immédiatement accessible au processeur (en mémoire principale) Plus réaliste –réduire la probabilité que l'information soit absente de la mémoire lorsqu'elle est nécessaire (défaut de segment ou de page).

13 Allocation de mémoire 2 questions –QUAND charger un objet en mémoire principale ? lorsqu'on en a besoin (chargement à la demande) avant d'en avoir besoin (pré-chargement). –OU charger cet objet ? s'il y a assez de place libre, dans quels emplacements le charger (placement) sinon, quel objet renvoyer en mémoire secondaire afin de libérer de la place en mémoire principale (remplacement).

14 Allocation de mémoire Comportement des programmes Non-Uniformité –Un faible pourcentage des pages cumule généralement un taux très important du nombre total des références. Il est courant que plus des 75% des références intéressent moins de 20% des pages

15 Allocation de mémoire Comportement des programmes Localité –Sur un temps d'observation assez court, la répartition des références présente une certaine stabilité. les références observées dans un passé récent sont en général une bonne estimation des prochaines références

16 Allocation de mémoire Partage de la mémoire sans réimplantation Va-et-vient Simple (swapping) –zone fixe de mémoire réservée aux utilisateurs –programmes conservés sous forme absolue –exécution : amener un programme dans sa totalité –si réquisition sauvegarde de la mémoire du processus interrompu sur disque avant le chargement du processus suivant.

17 Allocation de mémoire Va-et-vient Simple (swapping) Avantage: Simplicité Inconvénients –La CPU est inactive pendant le swapping on ne sauvegarde que la partie modifiée : la zone des données l'algorithme de la "peau d'oignon" : recharger que la partie recouverte conserver simultanément plusieurs programmes : partition de la mémoire

18 Allocation de mémoire Partition fixe de la mémoire n Mémoire partagée de façon statique en plusieurs zones n Chaque programme est « pré-affecté » à une zone n Conservés sur disque sous forme absolue n Pendant qu’un programme est transféré, une autre peut s’exécuter.

19 Allocation de mémoire Partition fixe de la mémoire

20 Allocation de mémoire Partition variable de la mémoire n Découpage en zones pas fixé a priori n Redéfini à chaque fin d’un programme et répartie entre d ’autres programmes n Fixation des adresses au chargement du programme n Pas de réimplantation dynamique

21 Allocation de mémoire Allocation par zones n Réimplantation dynamique par registre de base : –les adresses des programmes sont en relatif –la valeur d ’un registre (registre de base) est systématiquement ajoutée à chaque adresse. n Déplacer un programme –réinitialiser la valeur du registre de base à celle de l ’adresse absolue du début de la zone

22 Allocation de mémoire –choix d'une représentation des zones, –définition des critères de sélection d'une zone libre, –politique de libération d'une zone occupée, –décision à prendre lorsqu'aucune zone ne convient. Algorithmes de gestion de la mémoire par zones

23 Allocation de mémoire Représentation des zones n Une zone : –taille –adresse de début n La mémoire : –nombre variable de zones –liste des zones : ordre de libération des zones classement par adresse classement par taille

24 Allocation de mémoire Algorithmes de sélection n demande d ’une zone libre de taille T n chercher une zone suffisamment grande n créer une zone libre avec le résidu n 2 choix possible pour la recherche : –la première possible (first fit) –la plus petite possible (best fit) chaînage par tailles des zones

25 Allocation de mémoire Libération d'une zone Trois cas la zone libérée est entourée de deux zones libres, la zone libérée est entourée d'une zone libre et d'une zone occupée, la zone libérée est entourée de deux zones allouées. Regrouper les zones libres contiguës chaînage par adresses croissantes plus pratique

26 Allocation de mémoire Fragmentation et compactage n Problème de la fragmentation de la mémoire n Compactage par recopie à l'intérieur de la mémoire physique, en utilisant une instruction de type MOVE. par recopies successives des zones sur disque puis du disque en mémoire.

27 Allocation de mémoire Principes et mécanismes de base de la pagination n Mémoire virtuelle : –page de taille fixe –adresse virtuelle (numéro de page, déplacement) n Mémoire physique : –case de même taille –adresse réelle (numéro de case, déplacement)

28 Allocation de mémoire Pagination simple

29 Allocation de mémoire Fonction de pagination n Mémoire associative

30 Allocation de mémoire Mémoire topologique

31 Allocation de mémoire Table de pages en mémoire :

32 Allocation de mémoire Pagination à deux niveaux

33 Allocation de mémoire Mise en œuvre de la pagination Traduction num page / num case Mise à jour du bit d'écriture et du bit d'utilisation Détection du défaut de page qui provoque un déroutement

34 Allocation de mémoire Défaut de page trouver en mémoire secondaire la page manquante trouver une case libre en mémoire principale ; s'il n'y a pas de case libre, il faut en libérer une provoquer le chargement de la page dans la case ainsi rendue libre.

35 Allocation de mémoire Gestion d'une mémoire virtuelle paginée Partition fixe ou variable –fixe : un nombre fixe de case est alloué à chaque processus Pagination à la demande ou pré-chargement –pagination à la demande : une page est chargée lorsqu’il y a défaut de page –pré-chargement : une page est chargée avant de provoquer un défaut de page

36 Allocation de mémoire Gestion d'une mémoire virtuelle paginée Remplacement local ou global –local : la page enlevée appartenait au même processus Critère sur les pages : –Pages "propres ou sales" : propre : qui n ’a pas été modifiée depuis son chargement –Page partagée –Page à statut spécial : tampon d’E/S

37 Allocation de mémoire Description des algorithmes de défaut de page n Aléatoire : la page enlevée est choisie de manière aléatoire n FIFO : la page enlevée est choisie en fonction de son ordre de chargement n Least Recently Used (LRU) : Ordre chronologique d'utilisation n First In Not Used, First Out (FINUFO) : LRU sur un bit.


Télécharger ppt "Allocation de mémoire. Concept de Base Mémoire virtuelle : –l'ensemble des informations potentiellement accessibles par le processeur –l'ensemble des."

Présentations similaires


Annonces Google