Gestion de la mémoire. Abdelouahed Gherbi Hiver 2014

Documents pareils
LA mémoire principale est le lieu où se trouvent les programmes et les

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Partie 7 : Gestion de la mémoire

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

GESTION DE LA MEMOIRE

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

SYS MEM. Gestion de la mémoire. Table des matières. IUT - Département Informatique. ASR2-Système. 1.1 Motivation

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Architecture des ordinateurs

VMware ESX/ESXi. 1. Les composants d ESX. VMware ESX4 est le cœur de l infrastructure vsphere 4.

Gestion de la mémoire

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Exigences système Commercial & Digital Printing

GPA770 Microélectronique appliquée Exercices série A

Systemes d'exploitation des ordinateurs

CH.3 SYSTÈMES D'EXPLOITATION

REALISATION d'un. ORDONNANCEUR à ECHEANCES

<Insert Picture Here> Solaris pour la base de donnés Oracle

IV- Comment fonctionne un ordinateur?

Cours A7 : Temps Réel

Guide d installation JMap 5.0

CHAPITRE 4 LA MÉMOIRE DE L'ORDINATEUR

Programmation C. Apprendre à développer des programmes simples dans le langage C

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Structure fonctionnelle d un SGBD

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Algorithme. Table des matières

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Cours Informatique 1. Monsieur SADOUNI Salheddine

4D v11 SQL Release 5 (11.5) ADDENDUM

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Mémoire de l'imprimante

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel

Évaluation et optimisation de requêtes

Comment installer la configuration des salles sur son ordinateur personnel?

Informatique Générale

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011

A -Systèmes de fichiers 1 - FAT vs NTFS

Traitement numérique de l'image. Raphaël Isdant

Installation et Administration de SolidWorks Electrical CadWare Systems

les escaliers La pose Guide d installation pour bricoleurs Préparation des outils Prêt à installer Moulé à votre style de vie

Concept de machine virtuelle

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

«Commande» se rapporte à un bon de commande ou à une commande créée sur un site Internet Interoute.

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

LES SYSTÈMES DE FICHIERS

La mémoire. Un ordinateur. L'octet. Le bit

Codage d information. Codage d information : -Définition-

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Version default Titre : Procédure POURSUITE Date : 07/04/2009 Page : 1/10 Responsable : Clé : U Révision : 496

Les journées SQL Server 2013

Compilation (INF 564)

Logiciel de Base. I. Représentation des nombres

SYSTÈME DE GESTION DE FICHIERS

Adopter une approche unifiée en matière d`accès aux applications

Système de Gestion de Fichiers

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Cours des réseaux Informatiques ( )

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Les générations d'ordinateurs de 1945 à nos jours

Virtual Box Mettez un PC dans votre... PC

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Limitations of the Playstation 3 for High Performance Cluster Computing

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Windows 7, Configuration

Charte d'utilisation des infrastructures de la plate-forme bioinformatique Genotoul

Conservation des documents numériques

Chapitre 3 : Système de gestion de fichiers

Croisière au cœur d un OS Étape 4 : Mise en place de la pagination

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

ACTIVITÉ DE PROGRAMMATION

Chapitre 2 : Abstraction et Virtualisation

Réalisation d un OS 32 bits pour PC(x86)

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Tests de performance du matériel

Tester Windows 8 sans l'installer avec Virtualbox

Chapitre 13 Numérisation de l information

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Optimisations des SGBDR. Étude de cas : MySQL

Authentification à deux facteurs Cryptage portable gratuit des lecteurs USB Cryptage du disque dur

IFT2880 Organisation des ordinateurs et systèmes

Optimisation de 4D Server et 4D Web Server. Résumé. 4D Notes techniques

Transmission d informations sur le réseau électrique

datatale Boîtier Crypté 2.5-pouces pour disque dur Manuel d utilisation USB 2.0 AES 256 bit Rev.01

Optimisez vos environnements Virtualisez assurément

Transcription:

Gestion de la mémoire Abdelouahed Gherbi Hiver 2014 1

Plan Introduction Systèmes monoprogramés Protection Relocation Va-et-vient (Swapping) Systèmes multiprogrammés Partition fixes Partition variables État de la mémoire Algorithmes de placement et libération de mémoire 2

Introduction Les programmes résident sur le disque dans des fichiers binaires exécutables Pour être exécuté, un programme doit être chargé en mémoire et placé dans un processus Un programme utilisateur passe par plusieurs étapes avant d être exécutable Les adresses sont représentées de différentes façons selon l étape Code source : adresses symboliques. (P. ex. compteur) Module objet : adresses relative. (P. ex. 250 ième mot depuis le début d'espace mémoire) Binaire chargé en mémoire : adresses absolues. (P.ex. 0xFFF7) Étapes de compilation, édition des liens et chargement d un programme utilisateur [1] 3

Rôle du gestionnaire de mémoire Le gestionnaire de la mémoire est le composant du système d exploitation qui se charge de gérer l allocation d espace mémoire aux processus La fonction de gestion de mémoire traite les problèmes suivants : Organisation de la mémoire Nombre et la taille des partitions Partition fixes ou variables Politique d allocation de la mémoire une zone contiguë pour chaque processus? Allocation totale ou partielle de l espace nécessaire Gestion de l espace libre Mémorisation de l état de la mémoire Politique de placement : Parmi les parties libres en mémoire, lesquelles allouées au processus? Libération d espace mémoire en cas d insuffisance : Retirer un processus complétement ou partiellement Politique de remplacement : Choix du processus à retirer de la mémoire Protection des processus et du système d exploitation Exigences Efficacité, relocation, protection 4

Systèmes monoprogrammés Un seul processus ayant son programme en mémoire Le système d exploitation est aussi en mémoire Trois organisations simples ont souvent été utilisés Trois organisations de la mémoire d un système monoprogrammé [3] 5

Protection Il est nécessaire de protéger le code et les données du SE des processus ainsi que les processus entre eux Pour cela, on utilise un registre limite qui indique la limite de la zone réservée aux programmes utilisateurs. Chaque adresse référencée par la CPU est comparée avec le registre limite. 6

Relocation Lors de la compilation et l édition des liens les adresses des instructions et des données d un programmes sont relatives au début du programme 0 Ces adresses relatives (dites logiques ou virtuelles) seront ensuite translatées en adresse physiques. La translation peut se faire lors du chargement du processus Cette solution a un inconvénient : il ne sera plus possible de déplacer le processus. 7

Relocation Une autre solution consiste à faire la translation au cours de l exécution Cette solution doit être supportée par le matériel Doter la machine (MMU) de 2 registres spéciaux : Le registre de base (de translation) Le registre limite. Quand un processus est sélectionné par l ordonnanceur, le SE charge L adresse du début de la zone mémoire allouée au programme dans le registre de base La longueur de l espace d adresses du programme dans le registre limite. Durant l exécution d une instruction : chaque adresse relative référencée par l instruction est comparée avec le registre limite, afin d interdire tout accès en dehors de la partition courante (protection). Les adresses physiques sont obtenues en ajoutant le contenu du registre de base aux adresses relatives. Avantage : le processus peut être déplacé en mémoire. Support matériel pour la relocation et protection [1] 8

Va-et-vient (Swapping) Un processus doit être chargé en mémoire pour être exécuté Un processus peut être permuté (swapped out) temporairement à l extérieur de la mémoire Les processus permutés résident dans disque rapide (backing store) Le processus sera ramené (swapped in) vers la mémoire pour continuer sont exécution Le va-et-vient ou permutation (swapping) permet de libérer de la mémoire en cas d insuffisance La technique de swapping est limitée pour les programme non relogeables (non déplaçables) Contrainte : ramener le programme non déplaçable dans la même zone en mémoire Va-et-vient [1] Le temps nécessaire pour le swapping augmente le coût de la commutation de contexte 9

Multiprogrammation avec partitions fixes La mémoire est divisée en un ensemble de partitions. Le nombre et la taille des partitions sont fixés à l'avance lors du chargement du système. Les partitions peuvent être égales ou non. La choix du nombre et de la taille des partitions dépend du niveau de multiprogrammation voulu. L unité d allocation est une partition. Partition fixes avec tailles égales et inégales [2] 10

Multiprogrammation avec partitions Problèmes avec la partition fixe fixes Un programme peut ne pas correspondre à aucune partition La programmeur se trouve obligé de concevoir le programme utilisant des techniques comme les recouvrements (overlays) Utilisation inefficace de la mémoire Un programme aussi petit qu il soit occupe une partition entière Ceci résulte en le problème de fragmentation interne 11

Multiprogrammation avec partitions variables (dynamiques) Initialement, l espace mémoire réservé aux programmes constitue une seule partition. Quand un nouveau processus doit être chargé, on lui alloue une zone contiguë de taille suffisamment grande pour le contenir. Le nombre et les tailles des partitions varient au cours du temps. Évolution de l état d allocation de la mémoire [3] 12

Multiprogrammation avec partitions Exemple : variables Taille de la mémoire 256K OS occupe 40K 5 processus ayant les caractéristiques suivante Évolution de la mémoire Processus Besoin en mémoire P1 60K 10 P2 100K 5 P3 30K 20 P4 70K 8 Temps d exécution P5 50K 15 Que peut on remarquer? 13

Multiprogrammation avec partitions variables (dynamiques) L allocation de la mémoire avec partitions variables conduit éventuellement à l'apparition de trous trop petits pour les allouer à d autres processus : c'est la fragmentation externe Solutions? 14

Multiprogrammation avec partitions variables (dynamiques) L allocation de la mémoire avec partitions variables conduit éventuellement à l'apparition de trous trop petits pour les allouer à d autres processus : c'est la fragmentation externe Solutions Compactage Solution coûteuse Les processus doivent être relogeables (déplaçables) Allocation discontinue!!! 15

État de la mémoire Table de bits (bitmaps) La mémoire est un ensemble d unités d allocation. Un bit est associé à chaque unité. Lorsqu'on doit charger un processus de k unités, le gestionnaire de la mémoire doit chercher dans la table des bits une séquence de k zéros consécutifs. Cette méthode est rarement utilisée car la méthode de recherche est lente (k zéros consécutifs). Liste chainée Table des bits et liste chainée [3] 16

Algorithmes de placement Le gestionnaire de mémoire doit décider quel est le bloc libre qu il doit utiliser pour satisfaire la requête d un processus 17

Algorithme de placement Algorithme de la première zone libre convenable first fit Allouer La première zone libre qui convient. La recherche commence au début de la liste chainée On s arrête dés que on trouve un zone libre suffisamment large pour contenir le processus 18

Algorithme de placement Algorithme du meilleur ajustement best fit Allouer la plus petite zone libre qui est suffisamment grande pour contenir le processus On cherche dans toute la liste chainée à moins que la liste est ordonnée par la taille des trous Pourquoi? 19

Algorithme de placement Algorithme du meilleur ajustement best fit Allouer la plus petite zone libre qui est suffisamment grande pour contenir le processus On cherche dans toute la liste chainée à moins que la liste est ordonnée par la taille des trous Stratégie : La zone qui laisse le plus petit espace non occupé. 20

Algorithme de placement Algorithme du pire ajustement worst fit Allouer la plus grande zone libre On cherche dans toute la liste chainée sauf si la liste est ordonnée par ordre décroissant des tailles des trous Pourquoi? 21

Algorithme de placement Algorithme du pire ajustement worst fit Allouer la plus grande zone libre On cherche dans toute la liste chainée sauf si la liste est ordonnée par ordre décroissant des tailles des trous Stratégie : Choisir la zone qui laisse le plus grand espace non occupé qui sera plus utile qu un petit trou Pour tous les algorithme : Si la zone sélectionnée est plus grande que celle du processus à charger, elle est scindée en deux parties : la première est alloué au processus, la seconde est libre. 22

Allocation par subdivision (Buddy System) Les tailles des blocs sont des puissances de 2. Initialement, on a un seul bloc libre. Exemple : La taille maximale est de 1 Mo Un processus demande 70 Ko. Le gestionnaire détermine d abord la taille du bloc à allouer La plus petite puissance de 2 supérieure à la taille demandée Notre exemple : 70Ko, soit 128 Ko. La mémoire est récursivement divisée en deux blocs jusqu à l obtention d un bloc adéquat Notre exemple Comme il n y a pas de blocs libres de taille 128 Ko, 256 Ko ou 512 Ko la mémoire de 1 Mo est divisée en deux blocs de 512 Ko. Le premier bloc est divisé en deux blocs de 256 Ko. Enfin, le premier des deux blocs nouvellement créés est divisé en deux blocs de 128 Ko. L espace alloué au processus est situé entre l adresse 0 et 128 Ko. L allocation par subdivision est rapide mais elle est assez inefficace en ce qui concerne l utilisation de la mémoire (arrondir les tailles à une puissance de 2, fragmentation interne). 23

Allocation par subdivision (Buddy System) Exemple Exemple d allocation par subdivision (Buddy System) [2] 24

Allocation par subdivision (Buddy System) Représentation par un arbre de l allocation par subdivision juste après Release B [2] 25

Libération de la mémoire Un processus qui termine a deux voisins Excepté quand il est en haut de la mémoire ou en bas de la mémoire Ses voisins sont soit des processus ou des trous (zones mémoire non allouées) On a donc quatre (4) combinaisons 1 er cas : (a) mise à jour de la liste en remplaçant l état d occupation (P H) 2 ième cas : (b) et (c) Deux entrées (éléments) de la liste sont combinées en une seule et suppression d un élément 3ième cas (d) Trois entrées de la liste sont combinées et suppression de deux éléments de la liste 26

Références [1] SILBERSCHATZ, A. et P.B. GALVIN, Operating System Concepts. 8 th Edition, Addison Wesley. [2] William Stallings, Operating Systems : Internals and Design Principles, 5 th edition, Pearson [3] Andrew Tanenbaum, Modern Operating Systems, 3rd edition, 2008 27