Logiciel de Base. VIII. Gestion Mémoire (Mémoire Virtuelle)

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

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

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

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

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

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

Chapitre 4 : Les mémoires

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

GESTION DE LA MEMOIRE

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Mise en oeuvre TSM 6.1

Initiation à la sécurité

Gestion répartie de données - 1

Partie 7 : Gestion de la mémoire

Exigences système Edition & Imprimeries de labeur

Concept de machine virtuelle

La technologie Java Card TM

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

Structure fonctionnelle d un SGBD

Exigences système Edition & Imprimeries de labeur

Structure de base d un ordinateur

Cours Informatique 1. Monsieur SADOUNI Salheddine

Leçon 1 : Les principaux composants d un ordinateur

Conception de circuits numériques et architecture des ordinateurs

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

Structure et fonctionnement d'un ordinateur : hardware

Ordinateurs, Structure et Applications

Vers du matériel libre

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Architecture des Ordinateurs. Partie II:

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

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

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

IV- Comment fonctionne un ordinateur?

Clé USB. Quel type de données peut contenir une clé USB?

Architecture des ordinateurs

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

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

Architecture des calculateurs

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

Tutorial créer une machine virtuell.doc Page 1/9

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

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Architecture des ordinateurs

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

SQL Server 2008 et YourSqlDba

Microsoft Virtual Server, trucs et astuces avancés

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Livre blanc. Au cœur de Diskeeper 2010 avec IntelliWrite

Virtualisation CITRIX, MICROSOFT, VMWARE OLIVIER D.

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Ordinateurs, Structure et Applications

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

Systèmes d exploitation

HP 600PD TWR i G 4.0G 39 PC

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

Une solution de stockage VDI unifiée, flexible et disponible pour vos utilisateurs

Architecture des ordinateurs Introduction à l informatique

Installation et Administration de SolidWorks Electrical CadWare Systems

2 disques en Raid 0,5 ou 10 SAS

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Exigences système Commercial & Digital Printing

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

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

Exécution des instructions machine

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

Stockage des machines virtuelles d un système ESXi jose.tavares@hesge.ch & gerald.litzistorf@hesge.ch

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

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Responsabilités du client

Progressons vers l internet de demain

Manuel d utilisation de ndv 4

Sage 50 Version Nouveautés. Comptabilité générale. Sous réserve de modifications. Fonctionnalité Sage 50 Lite. Sage 50 Professional

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

NOTIONS DE RESEAUX INFORMATIQUES

Réseaux grande distance

RAPPORT D'AUDIT - SÉCURITÉ ET PERFORMANCES DES SERVEURS

Short Message Service Principes et Architecture

Rappels d architecture

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

Windows Front-End Installation Guide HOPEX V1R1 FR

LANDesk Application Virtualization

Virtual Box Mettez un PC dans votre... PC

EN Télécom & Réseau S Utiliser VMWARE

Ces deux machines virtuelles seront installées sous VMWARE WORKSTATION.

Manuel d installation serveurs

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

Introduction aux SGBDR

Capacité de mémoire Tablettes

Comment installer la configuration des salles sur son ordinateur personnel?

Transcription:

Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr VIII. Gestion Mémoire (Mémoire Virtuelle)

Systèmes sans mémoire virtuelle Mémoire Adresses physiques 0: 1: CPU N-1: Les adresses émises par les programmes «pointent» directement sur des emplacements en mémoire physique Exemples: la plupart des machines Cray, les premiers PC, pratiquement tous les systèmes embarqués, etc. 2

Systèmes avec mémoire virtuelle Mémoire Adresses virtuelles MMU 0: 1: Adresses physiques 0: 1: CPU P-1: N-1: Disque Le programme émet des adresses virtuelles Traduction d adresses : le matériel (MMU mémory management Unit) convertit les adresses virtuelles en adresses physiques via une table gérée par le SE (table des pages) Exemples: stations de travail, serveurs, PC modernes, etc. 3

Mémoire virtuelle : motivations 1. Simplifier la gestion mémoire Plusieurs processus résidant en mémoire physique» chaque processus a son propre espace d adressage Seules les parties actives du code et des données ont besoin d être en mémoire physique à un instant donné» on alloue de la mémoire aux processus au fur et à mesure qu ils en ont besoin 2. Utiliser la mémoire physique comme un cache pour le disque l espace d adressage d un processus peut être plus grand que la taille de la mémoire physique la somme de tailles des espaces d adressage de plusieurs processus dépasse la capacité de la mémoire physique 3. Protéger les processus entre eux Un processus ne peut pas interférer avec un autre processus» car ils travaillent dans des espaces d adressage disjoints Un processus utilisateur ne peut pas accéder à une information privilégiée» différentes sections des espaces d adressage peuvent avoir des droits d accès différents 4

Hiérarchie mémoire cache Mémoire virtuelle CPU CPU regs regs C a c h e Mémoire disque disque taille: Temps d accès (ns) : Registres Cache Mémoire Mémoire secondaire < 1KO 0,25-0,5 < 16 MO 0,5-5 < 32 GO 50-70 > 100 GO 5 10 6 à 20 10 6 coût ($/Goctet) : - 4K-10K 100-200 0,5-2 Plus grand, plus lent, moins cher (* Valeurs typiques pour une station de travail en 2004) 5

Un exemple d hiérarchie mémoire Dispositifs de stockage plus petits, plus rapide, et pus chers (par octet) L2: L1: L0: registres on-chip L1 cache (SRAM) Cache L2 (SRAM) Les registres contiennent des mots lus dans le cache L1 Le cache L1 contient des blocs du cache L2 Le cache L2 contient des blocs de la mémoire principale Dispostifs de stockage plus gros, plus lents, et moins chers (par octet) L5: L4: L3: Mémoire principale (DRAM) Disques locaux Disques distants (systèmes de fichiers distribués, serveurs Web La mémoire principale contient des blocs (pages) des disques locaux Les disques locaux contiennent des informations obtenues depuis des serveurs distants 6

Motivation 1: gestion mémoire Plusieurs processus peuvent être en mémoire physique en même temps Comment résoudre des conflits d adresses? (Que se passe-il si 2 processus accèdent à la même adresse? ) Image mémoire d un processus Linux/x86 0xffffffff 0xc0000000 0x40000000 0x08048000 0 mémoire virtuelle noyau (code, données, tas, pile) Pile utilisateur région où sont mappées les bibliothèques partagées tas (géré par malloc et free) read/write segment (.data,.bss) read-only segment (.init,.text,.rodata) non utilisé mémoire invisible au code utilisateur %esp (pointeur de pile) chargé depuis le fichier exécutable 7

Espaces d adressage virtuelles séparées Espace d adressage virtuel du processus 1 0 N-1 PV 1 PV 2... Traduction d adresses 0 PP 2 Espace d adressage physique (DRAM) Espace d adressage virtuel du processus 2 0 N-1 PV 1 PV 2... M-1 PP 7 PP 10 (code à lecture seule des bibliothèques partagées par ex.) Les espaces d adressage virtuelle et physique sont divisés en blocs de même taille» ces blocs sont appelés des pages (les blocs virtuels et les blocs physiques) Chaque processus a son propre espace d adressage» le SE contrôle l affectation de pages virtuelles aux pages physiques 8

Motivation 2: DRAM cache pour le disque L espace d adressage d un processus est très grand : adresses sur 32 bits : ~4.000.000.000 (4 milliards) octets adresses sur 64 bits : ~16.000.000.000.000.000.000 (16 10 18 ) octets Mémoire disque ~100X moins chère que la mémoire DRAM 10 GB de DRAM: ~ $1 200 10 GB de disque : ~ $10 Pour accéder à de grandes quantités de données à un coût moindre, la majeure partie des données doit être stockée sur disque 4 MB: ~$400 SRAM 1 GB : ~$120 DRAM 100 GB: ~$100 Disk (* Valeurs typiques 2004) 9

Localiser un objet dans un cache un tag est associé à chaque bloc du cache ce tag réalise la correspondance blocs du cache => blocs en mémoire principale pas de tag pour les blocs qui ne sont pas dans le cache l accès est fait par le matériel (mémoire associative) accès rapide (recherche en parallèle) Nom de l objet X = X? 0: 1: N-1: tag Cache donnée D 243 X 17 J 105 10

Localiser un objet en mémoire virtuelle chaque page de la mémoire virtuelle a une entrée dans la table des pages correspondance pages virtuelles => pages physiques même une page virtuelle qui n est pas en mémoire centrale a une entrée dans la table des pages spécifie une adresse sur disque les informations sur disque sont retrouvées par le système d exploitation Table des pages Cache localisation données nom de l objet D: 0 0: 243 X J: sur disque X: 1 1: N-1: 17 105 11

Défaut de page Que se passe-t-il si l objet recherché est sur disque au lieu d être en mémoire? Avant défaut de page l entrée de la table des pages indique que l adresse virtuelle n est pas en mémoire une exception de défaut de page est générée, le traitement de cette exception consiste à charger les données du disque vers la mémoire» le processus courant est suspendu, et le processeur est alloué à un autre processus» le SE décide de l allocation de la mémoire physique pour charger les données, au besoin en copiant (vidant) d autres données sur disque CPU Adresses virtuelles Table des pages Adresses physiques Disque Mémoire CPU Adresses virtuelles Table des pages Adresses physiques Disque Mémoire Après défaut de page 12

Traitement d un défaut de page (1) Le processeur «commande»au contrôleur d E/S lire un bloc de longueur P à partir de l adresse disque X et le ranger à l adresse mémoire Y (2) Le contrôleur lit les données lecture par DMA (Direct Memory Access) pas d intervention du processeur (3) le contrôleur d E/S signale la fin de la lecture par interruption le SE peut relancer le processus suspendu Processeur Reg Cache Cache (2) Transfert DMA Mémoire (1) commande de lecture (3) lecture terminée Bus Bus Mémoire-E/S disk Disque Contrôleur d E/S d E/S disk Disque 13

Motivation 3: protection Les entrées de la table des pages contiennent l information de protection (droits d accès) Processus i: PV 0: PV 1: Table des Pages Read? Write? Yes Yes No Yes Adr. Phys. PP 9 PP 4 0: 1: Mémoire PV 2: No No XXXXXXX Processus j: PV 0: PV 1: PV 2: Read? Write? Yes Yes No Yes No No Adr. Phys. PP 6 PP 9 XXXXXXX N-1: Le matériel assure la protection en générant une exception si violation de protection 14

Traduction des adresses virtuelles (1/2) V = {0, 1,..., N 1} : espace d adressage virtuel P = {0, 1,..., M 1} : espace d adressage physique MAP: V P U { } : fonction de traduction d adresses MAP(α) = α' si donnée à l adresse virtuelle α présente à l adresse physique α dans P si donnée à l adresse virtuelle α non présente dans P Processeur α Adresse virtuelle défaut de page matériel de traduction d adresses partie du MMU sur le processeur α' Traitant d exception Mémoire principale adresse physique Mémoire secondaire le SE fait le transfère (seulement si défaut de page ) 15

Traduction des adresses virtuelles (2/2) Paramètres P = 2 p = taille d une page en octets N = 2 n = taille de l espace d adressage virtuelle M = 2 m = taille espace d adressage physique n 1 p p 1 0 N de page virtuelle déplacement adresse virtuelle Traduction d @ m 1 p p 1 0 N de page physique déplacement adresse physique Note : le déplacement ne change pas 16

Tables des pages N de page virtuelle Table des pages résidant en mémoire (page physique ou adresse sur disque) Valide 1 1 0 1 1 1 0 1 0 1 Mémoire physique Disque (espace de swap ou fichier classique du SGF) 17

Traduction d @ via la table des pages Registre de base pour la table des pages Adresse virtuelle n 1 p p 1 0 N de page virtuelle (NPV) depl. dans la page valide Droits accès N de page physique (NPP) si valide=0 la page n est pas en mémoire m 1 p p 1 N de page physique (NPP) depl. dans la page 0 adresse physique 18

Fonctionnement de la table des pages Traduction des adresses - consulter la table des pages une (un ensemble de) table(s) propre à chaque processus NPV sert à indexer la table des pages Calcul de l adresse physique l entrée de la table de page (ETP) contient des informations sur la page (ex. un bit valide qui indique si la page est présente en mémoire)» si (bit valide = 1) alors la page est en mémoire physique utiliser le n de page physique (NPP) pour construire l @ physique» si (bit valide = 0) alors la page est sur le disque exception de défaut de page Page on doit ramener la page du disque en mémoire centrale pour que le processus puisse reprendre son exécution Protection le champ droits d accès d une ETP indique les types d accès autorisés sur la page (ex: lecture seule, lecture/écriture) exception de violation de protection si l utilisateur n a pas les droits nécessaires squelles autres informations sont contenues dans une ETP? 19

Mémoire virtuelle et cache La plupart des caches contiennent des adresses physique accès au cache en utilisant une adresse physique permet à plusieurs processus d avoir des blocs dans le cache au même moment permet le partage de pages par plusieurs processus le cache n est pas concerné par les problèmes de protection» les droits d accès sont vérifiés lors de la traduction d adresse (par le mécanisme de mémoire virtuelle) @V @P miss CPU traduction Cache données Traduction d adresse avant accès au cache hit Mémoire Principale mais ceci peut nécessiter un accès à la mémoire (lecture de l entrée de la table des pages) évidemment, les entrées de la table des pages peuvent aussi être dans le cache 20

Accélérer la traduction d adresses Translation Lookaside Buffer (TLB) cache dans l unité de gestion mémoire (MMU - Memory Management Unit) traduit les n de pages virtuelles en n de pages physiques contient un petit nombre d entrées (complètes) de la table des pages CPU @V @P miss hit TLB Cache lookup Mémoire principale miss hit Table des pages données 21

Traduction d @ avec un TLB n 1 p p 1 0 virtual page number page offset virtual address valid tag physical page number... TLB TLB hit = physical address tag valid tag data index byte offset Cache cache hit = data 22

Tables des pages multi-niveaux Considérons un système avec les caractéristiques suivantes : taille des pages : 4K octets (2 12 ) taille des adresses : 32 bits 4 octets par entrées de la table des pages Taille des tables des pages? Au moins 4 M octets (2 20 *4 ) une table par processus Solution communément utilisée tables des pages multi-niveaux ex: table 2 niveaux (ex : pentiums)» table de niveau 1 : 1024 entrées, chaque entrée pointe sur une table de niveau 2» tables de niveau 2 : 1024 entrées, chaque entrée pointe sur une page Table de niveau 1 Tables de niveau 2... 23

Fin du chapitre VIII Plus sur la gestion mémoire... Cours de Systèmes d Exploitation A2