Gestion de la mémoire réelle. Généralités

Documents pareils
Partie 7 : Gestion de la mémoire

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

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

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

GESTION DE LA MEMOIRE

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

A5.2.3, Repérage des compléments de formation ou d'autoformation

CH.3 SYSTÈMES D'EXPLOITATION

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

Concept de machine virtuelle

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

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

Découverte de l ordinateur. Partie matérielle

NOTIONS DE RESEAUX INFORMATIQUES

Systemes d'exploitation des ordinateurs

Exigences système Edition & Imprimeries de labeur

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

SYSTÈME DE GESTION DE FICHIERS

Présentation du module Base de données spatio-temporelles

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

Limitations of the Playstation 3 for High Performance Cluster Computing

Exigences système Edition & Imprimeries de labeur

Exigences système Commercial & Digital Printing

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Structure fonctionnelle d un SGBD

Cours Informatique 1. Monsieur SADOUNI Salheddine

PG208, Projet n 3 : Serveur HTTP évolué

Extrait de uvrez/technique.mspx UREC MMSH (S. ZARDAN) 1

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Chapitre 4 : Les mémoires

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

B2i. LE B2i Brevet Informatique et Internet. Niveau : tous. 1 S'approprier un environnement informatique de travail. b2ico1.odt.

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

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

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

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

LES SYSTÈMES DE FICHIERS

Gestion de la mémoire

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

4D v11 SQL Release 5 (11.5) ADDENDUM

Analyse de la bande passante

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

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

Serveur d application WebDev

WEA Un Gérant d'objets Persistants pour des environnements distribués

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

FONCTION DE DEMANDE : REVENU ET PRIX

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Conseils et astuces pour un déploiement réussi de la solution VMware Mirage

L exclusion mutuelle distribuée

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

WINSCOP GESTION DES COOPERATIVES D ACTIVITES ET D EMPLOI

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Projet de Bachelor Virtual Desktop Infrastructure

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

Création de maquette web

Sauvegarde et restauration d'un système d'exploitation Clonezilla

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.

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

VMWare. Vmware: machine virtuelle Un véritable pc avec : VmWare

Cours de Systèmes d Exploitation

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Les journées SQL Server 2013

Guide d installation JMap 5.0

Informatique Générale

Article I. DÉFINITIONS

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Introduction aux SGBDR

CAMELEON JUNIOR CAMELEON Dynamico JUNIOR

Introduction. Catalogues multiples

nom : Collège Ste Clotilde

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

I00 Éléments d architecture

SRS DAY: Problématique liée à la virtualisation

environnements SQL Server?

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Concepts et systèmes de stockage

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

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

Architecture des ordinateurs Introduction à l informatique

Représentation des Nombres

ManageEngine EventLog Analyzer. Les bonnes critiques et recommandations

SolidWorks Electrical 2014 Guide d'installation individuelle (1 base de donnée distincte par poste)

Guide d installation

Bases de données documentaires et distribuées Cours NFE04

la virtualisation pour quoi faire?

Clients et agents Symantec NetBackup 7

Acronis Backup & Recovery 10 Server for Linux. Guide de démarrage rapide

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

Transcription:

Généralités Gestion de la mémoire réelle Système monoprogrammé Organistation de la mémoire et protection du SE Les overlays (segments de recouvrement) Système multiprogrammé Partitions fixes Partitions variables État de la mémoire : Politiques de placement et de libération d espace Le Va-et-vient (swapping) École Polytechnique de Montréal Chapitre 8.1 Généralités L espace d adressage d un processus est généré par le compilateur et l éditeur de liens. Modules source Traducteur Modules objet Bibliothèque statique Éditeur de liens Phases de génération de l espace d adressage Module exécutable Chargeur Bibliothèque dynamique Liaison et Chargement dynamiques Image mémoire École Polytechnique de Montréal Chapitre 8.2 1

Généralités (2) Espace d adressage linéaire École Polytechnique de Montréal Chapitre 8.3 Généralités (3) Espace d adressage non linéaire : plusieurs segments École Polytechnique de Montréal Chapitre 8.4 2

Généralités (4) Rôle du gestionnaire de la mémoire Toute instruction ou donnée de l espace d adressage doit être chargée en mémoire centrale (principale, physique) avant d être traitée par un processeur. 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 à exécuter : Comment organiser la mémoire? (une ou plusieurs partitions, le nombre et la taille des partitions fixes ou variables au cours du temps). Faut-il allouer une zone contiguë à chaque processus à charger en mémoire? Faut-il allouer tout l espace nécessaire à l exécution du processus entier? (politique d allocation). Comment mémoriser l état de la mémoire? Parmi les parties libres en mémoire, lesquelles allouées au processus? (politique de placement) S il n y a pas assez d espace en mémoire, doit-on libérer de l espace en retirant des parties ou des processus entiers? Si oui lesquels? (politique de remplacement). Les adresses figurant dans les instructions sont-elles relatives? Si oui, comment les convertir en adresses physiques. Si plusieurs processus peuvent être résident en mémoire, comment assurer la protection des processus (éviter qu un processus soit altéré par un autre? École Polytechnique de Montréal Chapitre 8.5 Généralités (5) Exigences Efficacité : la mémoire doit être allouée équitablement et à moindre coût tout en assurant une meilleure utilisation des ressources (mémoire, processeurs et disque). Protection : Les processus ne peuvent pas se corrompre. Transparence : Chacun des processus doit ignorer l existence des autres en mémoire. Relocation : la possibilité de déplacer un processus en mémoire (lui changer de place). École Polytechnique de Montréal Chapitre 8.6 3

Système monoprogrammé Organisation de la mémoire Un seul processus en mémoire. Cas (b): ordinateurs de poche ou systèmes embarqués Cas (c) : MS-DOS École Polytechnique de Montréal Chapitre 8.7 Système monoprogrammé (2) Protection (cas de b) Pour protéger le code et les données du SE des programmes des utilisateurs, on utilise un registre limite qui indique la limite de la zone réservée aux utilisateurs. Chaque adresse référencée par un processus est comparée avec le registre limite. Registre limite CPU adresse > reg. lim Mémoire Erreur: Adressage illégal École Polytechnique de Montréal Chapitre 8.8 4

Système monoprogrammé (3) Overlays (segments de recouvrement) Pour permettre l exécution de processus dont la taille dépasse celle de la mémoire, on offrait la possibilité à l'utilisateur de : Diviser son programme en plusieurs sections (segments de recouvrement : overlays), Gérer le chargement et le retrait des sections du programme de la mémoire. Inconvénients : Cela complique la tâche aux programmeurs. Mauvaise utilisation des ressources. École Polytechnique de Montréal Chapitre 8.9 Système monoprogrammé (3 ) Overlays (segments de recouvrement) Exemple : main (15k) f1 (16k) f2 (13k) f3 (8k) f4 (6k) f5 (10k) Sans recouvrement : 15 +16 + 13 + 8 + 6 + 10 = 68k Avec recouvrement :? École Polytechnique de Montréal Chapitre 8.10 5

Système multiprogrammé La mémoire est partagée entre le système d'exploitation et plusieurs processus. Optimisation du taux d'utilisation du processeur en réduisant notamment les attentes sur des entrées-sorties. Deux préoccupations: Comment permettre efficacement la cohabitation de plusieurs processus? Comment assurer leur protection? École Polytechnique de Montréal Chapitre 8.11 Système multiprogrammé (2) Degree of multiprogramming Taux d utilisation = 1 P n où P taux d attente d E/S et n nombre de processus. École Polytechnique de Montréal Chapitre 8.12 6

Système multiprogrammé (3) avec Partitions fixes La mémoire réservée aux utilisateurs 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. On peut avoir une file par partition ou une file globale. L unité d allocation est une partition. École Polytechnique de Montréal Chapitre 8.13 Système multiprogrammé (4) avec partitions fixes Utilisée par OS/360 sur des mainframes IBM durant de nombreuses années (une seule file). École Polytechnique de Montréal Chapitre 8.14 7

Système multiprogrammé avec partitions fixes : (5) Translation d adresse et protection Comme on ne peut prévoir dans quelle partiton sera chargé un processus, les adresses attribuées par le compilateur et l éditeur de liens aux instructions et aux données d un programme doivent être relatives à une adresse 0. Ces adresses relatives seront ensuite translatées en adresse physiques. La translation peut se faire lors du chargement du processus (utilisée dans OS/360 d IBM. Les adresses relatives sont remplacées par des adresses absolues (en ajoutant à chaque fois l adresse de début de la partition). Cette solution n est pas intéressante car en remplaçant les adresses relatives en adresses absolues, il ne sera plus possible de déplacer le processus. École Polytechnique de Montréal Chapitre 8.15 Système multiprogrammé avec partitions fixes (6) Translation d adresse et protection Pour éviter la translation d adresse au cours du chargement d un processus, une autre solution consiste à doter la machine de 2 registres spéciaux : Le registre de base ; Le registre limite. Quand un processus est élu (par l ordonnanceur), le SE charge dans le registre de base l adresse absolue du début de sa partition et dans le registre limite la longueur de la partition. Durant l exécution d une instruction, chaque adresse relative référencée par l instruction est vérifiée en la comparant avec le contenu du registre limite, afin d interdire tout accès en dehors de la partition courante. 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. École Polytechnique de Montréal Chapitre 8.16 8

Système multiprogrammé avec partitions fixes (7) Translation d adresse et protection Registre limite Registre base SE CPU adresse < V + F Mémoire Erreur: Adressage illégal Cette translation doit être rapide. École Polytechnique de Montréal Chapitre 8.17 Système multiprogrammé avec partitions fixes (8) Problème : Fragmentation interne SE Fragmentation interne est causée par la partie d'une partition non utilisée par un processus. Fragmentation interne Partition 2K Partition 4K Partition 6K Partition vide Partition 6K Mémoire École Polytechnique de Montréal Chapitre 8.18 9

Système multiprogrammé avec partitions variables (9) Initialement, l espace mémoire réservée aux utilisateurs 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. Cette forme d'allocation conduit éventuellement à l'apparition de trous trop petits pour les allouer à d autres processus : c'est la fragmentation externe Solutions: Compactage (coûteux et exige que les processus soient relocalisables) Allocation discontinue. École Polytechnique de Montréal Chapitre 8.19 Système multiprogrammé avec partitions variables (10) Exemple 0K 40K Moniteur processus 1 0K 40K Moniteur processus 1 100K 100K Fin du processus 2 processus 2 200K 230K processus 3 200K 230K processus 3 256K 256K a) b) École Polytechnique de Montréal Chapitre 8.20 10

Système multiprogrammé avec partitions variables (11) Exemple (suite) 0K Moniteur Moniteur 40K 40K processus 1 processus 5 90K 100K 100K 0K processus 4 processus 4 170K 200K 230K 256K processus 3 170K 200K 230K 256K processus 3 c) d) École Polytechnique de Montréal Chapitre 8.21 Système multiprogrammé avec partitions variables (12) Compactage de mémoire (opération coûteuse) 0K 40K 90K 100K Moniteur processus 5 0K 40K 90K Moniteur processus 5 processus 4 processus 4 170K 200K 230K 256K processus 3 160K 190K 256K processus 3 Une machine de 256Mo de RAM (4 octets en 40ns) nécessite 2,7 s École Polytechnique de Montréal Chapitre 8.22 11

État de la mémoire Pour gérer l'allocation et la libération de l'espace mémoire, le gestionnaire doit : Connaître l'état de la mémoire : Tables de bits, Listes chaînées. Avoir une politique de placement et de récupération d espace. Premier ajustement Meilleur ajustement Pire ajustement Par subdivision École Polytechnique de Montréal Chapitre 8.23 État de la mémoire (2) Table de bits (Bitmaps) 0 8 16 24 32 P1 P2 P3 11111100 00001111 11111100 00000000 000111 La mémoire est un ensemble d unités d allocation. Un bit est associé à chaque unité. Lorsqu'on doit ramener un processus de k unités, le gestionnaire de la mémoire doit alors parcourir la table des bits à la recherche 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). École Polytechnique de Montréal Chapitre 8.24 12

État de la mémoire (3) Liste chaînée a) 0 5 7 12 32 35 occupé libre O L O L O 0 5 7 12 32 5 2 5 20 3 b) École Polytechnique de Montréal Chapitre 8.25 État de la mémoire (4) Liste chaînée Mémorisation de l état de la mémoire cas de BSD 4. École Polytechnique de Montréal Chapitre 8.26 13

Politiques de placement occupé libre École Polytechnique de Montréal Chapitre 8.27 Politiques de placement (2) Premier ajustement (first fit): La première zone qui convient. Meilleur ajustement (best fit): La zone qui laisse le plus petit espace non occupé. Pire ajustement (worst fit): La zone qui laisse le plus grand espace non occupé. 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. École Polytechnique de Montréal Chapitre 8.28 14

Politiques de placement (3) Simulations (Shore, 1975) Performants Performance Requêtes École Polytechnique de Montréal Chapitre 8.29 Politiques de placement (4) Par subdivision Les tailles des blocs sont des puissances de 2. Initialement, on a un seul bloc libre. Supposons que la taille maximale est de 1 Mo et qu un processus de 70 Ko demande à être chargé en mémoire. Le gestionnaire détermine d abord la taille du bloc à allouer (égale à la plus petite puissance de 2 supérieure à 70Ko, soit 128 Ko). 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). École Polytechnique de Montréal Chapitre 8.30 15

Libération d espace 4 cas peuvent se présenter lors de la libération de l espace occupé par un processus X. 1 er cas : A X B A B Modifier l indicateur de l état du segment (il passe à libre) 2 ième cas A X A 3 ième cas X B B Modifier l indicateur de l é tat du segment (il passe à libre) fusionner les deux segments. 4 ième cas X École Polytechnique de Montréal Chapitre 8.31 Le va-et-vient (Swapping) Le va-et-vient est mis en œuvre lorsque tous les processus ne peuvent pas tenir simultanément en mémoire. On doit alors en déplacer temporairement certains sur une mémoire provisoire, en général, une partie réservée du disque (mémoire de réserve, swap area ou backing store). Sur le disque, la zone de va-et-vient d un processus peut être allouée à la demande. Quand un processus est déchargé de la mémoire centrale, on lui recherche une place. Les places de va-et-vient sont gérées de la même manière que la mémoire centrale. La zone de va-et-vient d un processus peut aussi être allouée une fois pour toute au début de l exécution. Lors du déchargement, le processus est sûr d avoir une zone d attente libre sur le disque (éviter des interblocages). École Polytechnique de Montréal Chapitre 8.32 16

Le va-et-vient (Swapping) (2) Mémoire utilisateur Mémoire provisoire École Polytechnique de Montréal Chapitre 8.33 Exercice 1. Donnez les états d'occupation de la mémoire aux différentes étapes de traitement de ces processus, sous les hypothèses suivantes : 1. Partitions fixes de tailles 6 MB, 4 MB, 2 MB et 4 MB (pour le système) ; 2. Le mode d'allocation des trous utilise l algorithme meilleur ajustement (Best Fit) ; 3. Le répartiteur de haut niveau fonctionne selon PAPS ; 4. Le répartiteur de bas niveau fonctionne selon SJF (Shortest Job First). 5. Pas de va-et-vient Instant t Processus Taille Temps CPU Durée E/S 0 A 3 MB 9 ms 2 ms 4 B 5 MB 6 ms 9 ms 6 C 5 MB 4 ms 4 ms 8 D 4 MB 2 ms 6 ms 10 E 1 MB 4 ms 3 ms 12 F 1 MB 5 ms 1 ms 16 G 1 MB 3 ms 2 ms 18 H 3 MB 3 ms 8 ms Chaque processus effectue un calcul suivi d une E/S en utilisant son propre périphérique École Polytechnique de Montréal Chapitre 8.34 17