Allocation de mémoire Allocation de mémoire.

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Module Systèmes d’exploitation
Module 5 : Implémentation de l'impression
Chap. 4 Recherche en Table
Module Systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Gestion de la mémoire Chapitre 3.
Chapitre 4 Gestion de la Mémoire
Mémoire & Processus Cours SE - SRC
Les structures de données
Chap. 1 Structures séquentielles : listes linéaires
Modélisation des systèmes non linéaires par des SIFs
12 novembre 2012 Grégory Petit
Mémoire cache ou antémémoire
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
Gestion de la Mémoire Bases Swapping Allocation Contigue Pagination
Algorithmique et Programmation
Les piles Djamal Rebaïne.
La création de sinistre, la sélection à des fins de consultation, modification ou impression sont accessibles grâce à la barre de menu à gauche de l'écran.
II. Chaînage, SDD séquentielles
Algorithmique et Programmation
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Gestion de Fichiers Arbres B.
Allocation de la mémoire Tâche à faire Attribuer de lespace mémoire Charger Code et Données Exécuter La tâche -Tenir à jour une carte de lespace libre/occupé.
FICHIERS : Définition : Algorithme général:
Présentation Structures de Données et TDA
Les Algorithmes de Tri Introduction Tri par Sélection
Méthode et Outils pour la Programmation
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Plan cours La notion de pointeur et d’adresse mémoire.
L ’Ordonnancement Ordonnancement.
Vue d'ensemble Surveillance des journaux d'événements
Le langage C Rappel Pointeurs & Allocation de mémoire.
La notion de type revisitée en POO
Module 8 : Surveillance des performances de SQL Server
11/04/ L'héritage Cours 7 Cours 7.
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Cours de Systèmes d’exploitations
Créer des packages.
Conversation permanente
Se perfectionner sur Excel
02/10/2013JC LP MD1 COURS_3. 02/10/2013JC LP MD2 Direct Memory Access DMA.
9 décembre 2014J.Callot L.Piedfort1 Chapitre_4 K60 Caches MMU.
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Architecture et technologie des ordinateurs II
Patricia Renault UPMC 2005/2006
Système de gestion fichiers
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Architecture et technologie des ordinateurs II
Module 3 : Gestion des fichiers de base de données
Ordinateurs, Structure et Applications
ALLOCATION DU CPU et GESTION DES TRAVAUX.
 Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Organisation de la mémoire pour le langage minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Memoire.
ARCHITECTURE DE L’ORDINATEUR Victor Alibert, ‘ZIo’ (avec l’aide des diapos de « night »)
Formation SGA Module Budget Durée : 1 jour. Sommaire Formation Budget 1.Notions de base 2.Accéder au budget – Chemin d’accès au fichier Excelarator –
Présentation Excel Microsoft Excel est le tableur de la suite bureautique propriétaire « Office System ». Développé pour les plateformes Windows et Macintosh.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
Module 81 Module 8 – La mémoire virtuelle Chapitre 9 (Silberchatz)
Transcription de la présentation:

Allocation de mémoire Allocation de mémoire

Concept de Base Mémoire virtuelle : Allocation Mémoire 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) 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. Allocation de mémoire

Du texte au processus Etape de traduction Etape d'édition de lien 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 Allocation de mémoire

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

Organisation de la mémoire virtuelle Mémoire virtuelle linéaire emplacements organisés séquentiellement adresses : entiers consécutifs Mémoire virtuelle segmentée ensemble de segments d ’informations de même nature adresses : (numéro de segment, déplacement) 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. Allocation de mémoire

Le recouvrement (overlay) 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. 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 Allocation de mémoire

Différentes Réalisations de l'Allocation Mémoire Physique par zones de taille variable par pages de taille fixe 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). 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). 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 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 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. 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 Allocation de mémoire

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

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

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

Allocation par zones 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. Déplacer un programme réinitialiser la valeur du registre de base à celle de l ’adresse absolue du début de la zone Allocation de mémoire

Algorithmes de gestion de la mémoire par zones 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. Allocation de mémoire

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

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

Libération d'une zone Trois cas Regrouper les zones libres contiguës 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 Allocation de mémoire

Fragmentation et compactage Problème de la fragmentation de la mémoire 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. Allocation de mémoire

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

Pagination simple Allocation de mémoire

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

Mémoire topologique Allocation de mémoire

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

Pagination à deux niveaux 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 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. 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 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 Allocation de mémoire

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