Programmes gourmands en mémoire et qui ne "tiennent pas" toujours en RAM.

Documents pareils
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é

Partie 7 : Gestion de la mémoire

Systemes d'exploitation des ordinateurs

GESTION DE LA MEMOIRE

Structure fonctionnelle d un SGBD

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

Architecture des ordinateurs

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

Gestion de la mémoire

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

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

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

Cours admin 200x serveur : DNS et Netbios

Structure de base d un ordinateur

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Cours Informatique 1. Monsieur SADOUNI Salheddine

Manuel d installation Version Evolution réseau Ciel Compta Ciel Gestion commerciale Ciel Associations

NOTIONS DE RESEAUX INFORMATIQUES

la virtualisation pour quoi faire?

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

Gestion répartie de données - 1

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

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

environnements SQL Server?

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

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

Guide Mémoire NETRAM

Xubuntu Une alternative à Windows et à Ubuntu, (pour ceux qui ne veulent pas d'unity) : installer Xubuntu.

Tester Windows 8 sans l'installer avec Virtualbox

FinImportExport Documentation Utilisateur Gestion d'environnement dans Fininfo Market

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

Initiation à la sécurité

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

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

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

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

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

I. QU'EST-CE QU'UN ORDINATEUR? Un ordinateur est relié à plein de périphériques

Architecture des ordinateurs Introduction à l informatique

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Système de Gestion de Fichiers

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

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

PROJET ALGORITHMIQUE ET PROGRAMMATION II

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours 3 : L'ordinateur

Sommaire. Promo 39 B WINDOWS 2003 SERVER PART 1

Découverte de l ordinateur. Partie matérielle

Concept de machine virtuelle

Introduction aux SGBDR

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

PG208, Projet n 3 : Serveur HTTP évolué

modélisation solide et dessin technique

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

INSTALLATION ET CONFIGURATION DE HYPER V3

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

MANUEL TBI - STARBOARD

SYSTÈME DE GESTION DE FICHIERS

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

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

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

ACTIVITÉ DE PROGRAMMATION

Licence Sciences et Technologies Examen janvier 2010

Structure et fonctionnement d'un ordinateur : hardware

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

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

Vers l'ordinateur quantique

Version de novembre 2012, valable jusqu en avril 2013

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

Chapitre 4 : Les mémoires

Guide d'installation. Release Management pour Visual Studio 2013

Ce tutoriel ne fera pas de vous un expert sur le déploiement via WDS, mais il vous permettra de comprendre un peu les rouages de ce système.

Généralités sur le Langage Java et éléments syntaxiques.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

PROJET DE MIGRATION EXCHANGE 2003 VERS EXCHANGE 2010

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

1 sur 5 10/06/14 13:10

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

Aide à l installation et à la migration en HelloDoc 5.60

Démontage d'un ordinateur

Informatique Générale

Gestion de Contacts & Clients ACT! SOLUTION ING* pour vos newsletters et vos campagnes de prospection CONTACT. Distribué par

Annexe : La Programmation Informatique

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Analyse des trajectoires acceptables en approche de virage assistance aux conducteurs

4 Exemples de problèmes MapReduce incrémentaux

LES SYSTÈMES DE FICHIERS

Réseaux grande distance

Exécution des instructions machine

Nouveautés FDS Pour créer des équipements 2D et les publier à partir d'autocad

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

Transcription:

1 sur 9 La mémoire virtuelle Définition Les problèmes de l'allocation mémoire Correspondance adresses virtuelles - adresses physiques Principes et mécanismes de base de la pagination La mémoire virtuelle linéaire Le défaut de page Le choix d'une victime - remplacement Le préchargement - La localité Pagination à deux niveaux Structure d'un programme Avantages / Inconvénients de la pagination La mémoire virtuelle segmentée Les segments Problèmes Le partage de l'information en mémoire virtuelle linéaire Le partage de l'information en mémoire segmentée Définition Mémoire virtuelle = support de l'ensemble des informations potentiellement accessibles. Ensemble des emplacements dont l'adresse peut être engendrée par le processeur. Mémoire physique = Ensemble des emplacements RAM physiquement présents dans l'ordinateur. Pourquoi une mémoire virtuelle? Mémoire physique coûteuse. Mémoire secondaire (disques, mémoire étendue, ) peu coûteuse. Programmes gourmands en mémoire et qui ne "tiennent pas" toujours en RAM. Utiliser la mémoire secondaire "comme" mémoire RAM. Idée générale Il s'agit de conserver en mémoire une "partie" des programmes en cours d'exécution. Si un programme A veut s'exécuter alors qu'il n'y a plus de place en mémoire, un "bout" d'un autre programme est "viré" en mémoire secondaire et remplacé par un "bout" de A. Donc, un programme est decoupé en bouts que l'on nomme pages, de taille fixe. La mémoire physique est elle aussi découpée en pages, de même taille, ainsi que la mémoire secondaire.

2 sur 9 Les problèmes de l'allocation mémoire correspondance entre adresses virtuelles et adresses physiques ; gestion de la mémoire physique ; Et si multi-processus : partage de l'information ; protection mutuelle. Correspondance adresses virtuelles - adresses physiques On utilise une fonction topographique qui associe à une adresse virtuelle, une adresse réelle. Voici l'architecture classique d'accès à la mémoire : Voici la fonction topographique : Fonction topo(x : adresse_virtuelle) : adresse_réelle; début topo := f(x); fin

3 sur 9 Et voici l'architecture avec réimplantation dynamique : La mémoire virtuelle, avec sa table des pages, est une implémentation possible de la fonction topographique. La table des pages virtuelles Présent Modifié Protection Num page physique oui non rx 18 Présent : page virtuelle présente en mémoire physique? Modifié : page modifiée? Protection : droits d'accès. Num page physique : page physique correspondante. La table des pages virtuelles est une implémentation particulière d'une fonction de pagination (il en existe d'autres). En général, c'est un bit dans le PSW (Program Status Word) qui indique si l'on utilise ou non la mémoire virtuelle.

4 sur 9 Principes et mécanismes de base de la pagination Soit un processeur avec un bus d'adresse sur 32 bits, il peut addresser 2^32 octets, soit 4 Go. L'ordinateur a une mémoire physique de 8 Mo. L = taille de la page ou de la case, par exemple 4096 octets, soit 2^12. N = nombre de pages de la mémoire virtuelle, par exemple 1 Méga de pages, soit 2^20. n = nombre de cases de la mémoire physique, par exemple 2048 cases, soit 2^11. La mémoire virtuelle linéaire Pourquoi mémoire virtuelle linéaire? L'adresse du 1er octet de la page n = l'adresse du dernier octet de la page (n-1) + 1. Avantage : organisation identique à celle d'une mémoire physique. Adresse Virtuelle Adresse Physique Le calcul de l'adresse réelle à partir de l'adresse virtuelle se réalise ainsi : le numéro de page virtuelle donne l'entrée de la TPV dans laquelle se trouve le numéro de page physique ; le déplacement est le même (les pages physiques et virtuelles ont la même taille) ; si la page virtuelle n'est pas présente en mémoire physique, alors il se produit un défaut de page.

5 sur 9 Pour accélérer le processus, on utilise des mémoires associatives qui recencent les dernières pages utilisées : Le défaut de page L'adresse virtuelle référence une page qui n'est pas présente en mémoire physique. Le mécanisme d'adressage génère un défaut de page.

6 sur 9 Si la mémoire physique est pleine : virer de la mémoire physique une page (remplacement) : choisir une page "victime", si elle a été modifiée, la réécrire sur disque, modifier les indicateurs de présence en TPV ; Puis, dans tous les cas : charger la page référencée en mémoire physique (placement) ; modifier les indicateurs de présence en TPV. Le choix d'une victime - remplacement De nombreux algorithmes : FIFO - First In First Out : ordre chronologique de chargement ; LRU - Least Recently Used : ordre chronologique d'utilisation ; FINUFO - First In Not Used, First Out (algorithme de l'horloge ou Clock) : approximation du LRU ; LFU - Least Frequently Used ; Random : au hasard ; MIN : algorithme optimal. Performances : MIN, LRU, FINUFO, [FIFO, Random]. Le préchargement - La localité Optimisation du système : tenir compte de la localité en préchargeant des pages avant d'en avoir besoin. Localité : à un instant donné, les références observées dans un passé récent sont (en général) une bonne estimation des prochaines références. En moyenne, 75% des références intéressent moins de 20% des pages. C'est la non-uniformité. on va essayer d' anticiper la demande. Le problème de la taille de la TPV Pour être utilisée, la TPV doit être placée en mémoire physique. Par exemple, si on a 2^20 pages virtuelles, la TPV aura une taille d'à peu près 2^20 * taille d'une entrée = 10 Mo si une entrée tient sur 10 octets. C'est à dire plus que la taille de la mémoire physique!!!! Solution : on va paginer la TPV. Pagination à deux niveaux La mémoire virtuelle est divisée en Hyperpages qui sont elles-mêmes divisées en pages. Une adresse virtuelle = numéro d'hyperpage ; numéro de page ; déplacement.

7 sur 9 Attention! L'accès à la mémoire est plus lent d'une indirection (utilisation de mémoires associatives). La mémoire est toujours linéaire. Structure d'un programme Un programme destiné à être chargé en mémoire virtuelle se décompose ainsi : En-tête : < nom, taille (en nombre de pages) > Table de couplage : < page_virtuelle, nombre_de_pages, texte > (texte est en général une référence à un secteur disque qui contient le code) < page_virtuelle', nombre_de_pages', texte' > Table des points d'entrées : < Entrée, adresse_exec > < Entrée, adresse_exec > Problème : le code d'un programme est "absolu", c'est à dire qu'on ne peut pas le déplacer dans la mémoire virtuelle (il a une adresse fixe). Solution : posséder une fonction de couplage dynamique et un vecteur de translation. Mais celà coûte cher en performance. Pour éviter les conflits d'implantation en mémoire virtuelle et la fragmentation, on associe une mémoire virtuelle à chaque utilisateur. Avantages / Inconvénients de la pagination Avantages : Meilleure untilisation de la mémoire physique (programmes implantés par fragments, dans des pages non-consécutives). Possibilité de ne charger des pages que lorsqu'elles sont référencées (chargement à la demande). Indépendance de l'espace virtuel et de la mémoire physique (mémoire virtuelle généralement plus grande). Possibilité de ne vider sur disque que des pages modifiées. Possibilité de recouvrement dynamique (couplage). Inconvénients : Fragmentation interne (toutes les pages ne sont pas remplies). Impossibilité de lier deux (ouo plusieurs) procédures liées aux mêmes adresses dans l'espace virtuel. Mémoire virtuelle segmentée La mémoire virtuelle = ensemble de segments. Un segment = suite d'emplacements consécutifs. Adresse virtuelle = numéro de segment ; déplacement. En général, les segments correspondent à un découpage logique d'un programme (segment de pile, de

8 sur 9 données, de code, ). L'algorithme de remplacement remplace un (ou plusieurs) segments entiers par le segment référencé. Évidemment, il existe une table des segments. Les segments Options : le segment doit-il rester le plus longtemps possible en mémoire physique? Contenu : donne des informations à l'algorithme de remplacement. Si contenu = données modifiées écriture sur disque (cher). Si code rien à faire. Problèmes Un segment = des zone de mémoire contigües, d'où une gestion difficile de la mémoire (utilisation de "ramasse-miettes" - garbage collector). Idée : Paginer les segments! On a une TPV par segment. Une adresse segmentée = numéro de segment + déplacement dans le segment. Un déplacement dans le segment = numéro de page virtuelle + déplacement dans la page. Le partage de l'information en mémoire virtuelle linéaire

9 sur 9 Le partage de l'information en mémoire segmentée Retour au sommaire.