[PDF] Module 8 – La mémoire virtuelle



Previous PDF Next PDF







Module 8 – La mémoire virtuelle

De la pagination et segmentation à la mémoire virtuelle Un processus est constitué de morceaux (pages ou segments) ne nécessitant pas d’occuper une région contiguë de la mémoire principale Références à la mémoire sont converties en adresses physiques au moment de l’exécution



La mémoire virtuelle - Traduction dadresses et pagination à

La mémoire virtuelle : intuition Principe : chaque processus a sa propre mémoire une mémoire = un vaste tableau d’octets indices =adresses contenu : complète liberté du programmeur décider où mettre quoi = allocation àl’intérieurdu processus (cf chap 4) I rôle du langage de programmation Implémentation : combinaison de plusieurs



620 Mémoire virtuelle - INF3173

Mémoire virtuelle sans pagination (historique) • Alias: swapping de processus Quand la mémoire est faible • Trouver un processus pas souvent actif • Copier toute sa mémoire sur disque (swap out) • Puis libérer la mémoire du processus → La mémoire n’est plus faible Quand on doit continuer l’exécution du processus



Gestion de la mémoire par pages - Ensimag

par pagination • Mémoire virtuelle divisée en zones de taille fixe appelées pages – Taille typique d ’une page: 4 Koctets – Taille mémoire virtuelle : 32 ou 64 bits d ’adresse • Mémoire physique divisée en blocs de même taille que les pages appelés les cases • Une page peut être chargée dans n’importe quelle



8 – PAGINATION MÉMOIRE

Le principe de la pagination réside dans la division de la mémoire en zones de tailles fixes appelées "pages" L’espace de travail d'un processus est divisé en pages Quand le processus est exécuté, seules les pages dont il a besoin sont chargées en mémoire centrale



Gestion de la mémoire - Cours systemes dexploitation

Gestion de la mémoire I La segmentation La pagination : La mémoire virtuelle étudiée jusqu’ici est à une dimension, les adresses virtuelles sont comprises entre 0 et une adresse maximale Chaque segment est une suite d’adressescontinus de 0 à une adresse maximale autorisée Les segments ont des tailles différentes qui varient en cours



Pagination (1/3) : la mémoire

mémoire, le bit M (modified ou dirty bit) qui indique si la page a été modifiée - pour trouver l'information cherchée on concatène la partie déplacement dans la page au numéro de page physique trouvé



Repa rtition de la memoire entre systeme et Adressage

pagination et segmentation Pagination Segmentation Memoire paginee segmentee Memoire virtuelle Pagination : une abstraction au niveau materiel La memoire est partitionnee en pages de taille xe et petite Chaque page possede un numero physique et comme pour un fs , l'os maintient une liste des pages libres



Chapitre 3 GESTION DE LA MEMOIRE

La mémoire virtuelle fait appel à deux mécanismes : segmentation ou pagination La mémoire est divisée en segments ou pages Sans recours à la mémoire virtuelle, un processus est entièrement chargé à des adresses contiguës ; avec le recours à la mémoire virtuelle, un processus peut être chargé dans des pages ou des segments



La gestion de la mémoire

La m¶emoire virtuelle Les limites du swap La pagination µa la demande Algorithmes de remplacement de pages La pagination µa la demande ou swappeur paresseux La m¶emoire logique (virtuelle) est d¶ecoup ¶ee en pages La m¶emoire virtuelle est potentiellement inflnie La m¶emoire physique est d¶ecoup ¶ee en cadres de page

[PDF] difference entre pagination et segmentation

[PDF] conversion adresse logique adresse physique

[PDF] pagination et segmentation pdf

[PDF] pagination systeme d'exploitation

[PDF] telecharger un livre de grammaire pdf

[PDF] larousse conjugaison pdf

[PDF] telecharger larousse difficultés grammaticales pdf

[PDF] larousse grammaire francais

[PDF] larousse orthographe pdf

[PDF] larousse livre de bord orthographe pdf

[PDF] telecharger livre larousse grammaire gratuit pdf

[PDF] introduction grammaire generative

[PDF] chomsky théorie

[PDF] chomsky linguistique pdf

[PDF] aspects de la théorie syntaxique pdf

Module 81

Module 8 - La mémoire virtuelleChapitre 9 (Silberchatz)

Module 82

Mémoire Virtuelle■Pagination sur demande

■Problèmes de performance ■Remplacement de pages: algorithmes ■Allocation de cadres de mémoire ■Ensemble de travail

Module 83

Concepts importants du Module 8

Localité des références

Mémoire virtuelle implémentée par va-et-vient des pages, mécanismes, défauts de pages

Adresses physiques et adresses logiques

Temps moyen d'accès à la mémoire?

Récriture ou non de pages sur mém secondaire

Algorithmes de remplacement pages:?

OPT, LRU, FIFO, Horloge

Fonctionnement, comparaison

Écroulement, causes

Ensemble de travail (working set)

Relation entre la mémoire allouée à un proc et le nombre d'interruptions Relation entre la dimension de pages et le nombre d'interruptions

Prépagination, post-nettoyage

Effets de l'organisation d'un programme sur l'efficacité de la pagination

Module 84

La mémoire virtuelle est une application du

concept de hiérarchie de mémoire

■C'est intéressant de savoir que des concepts très semblables s'appliquent aux mécanismes de la mémoire cache?Cependant dans ce cas les mécanismes sont surtout de matériel

magnetic tapesoptical diskmagnetic diskelectronic disk cache main memoryregisters

Mécanismes cache

Méc. mém. virtuelleRAM

(flash)

Module 85

La mémoire virtuelle■

Lorsqu'un programme est en exécution, il n'est

pas nécessaire qu'il soit entièrement dans la mémoire principale!

Seules

les parties qui sont en exécution ont besoin d'être dans la mémoire centrale Les autres parties peuvent être dans la mémoire secondaire (ex. disque), prêtes à être amenées en mémoire centrale sur demande ?

Mécanisme de va-et-vient ou swapping

Ceci rend possible l'exécution de programmes

beaucoup plus grands que la mémoire physique?

Réalisant ainsi une

mémoire virtuelle qui est plus grande que la mémoire physique

Module 86

De la pagination et segmentation à la mémoire virtuelle

Un processus est constitué de

morceaux (pages ou segments) ne nécessitant pas d'occuper une région contiguë de la mémoire principale Références à la mémoire sont converties en adresses physiques au moment de l'exécution ? Un processus peut être déplacé à différentes régions de la mémoire, incluant la mémoire secondaire! Donc: tous les morceaux d'un processus ne nécessitent pas d'être en mémoire principale durant l'exécution L'exécution peut continuer à condition que la prochaine instruction (ou donnée) est dans un morceau se trouvant en mémoire principale La somme des mémoires logiques des processus en exécution peut donc excéder la mémoire physique disponible?

Le concept de base de la mémoire virtuelle

Une image de tout l'espace d'adressage du processus est gardée en mémoire secondaire (normal. disque) d'où les pages manquantes pourront être prises au besoin?

Mécanisme de va-et-vient ou swapping

Module 87

Mémoire virtuelle:

résultat d"un mécanisme qui combine la mémoire principale et les mémoires secondaires

Tableau de pages

Module 88

Localité et mémoire virtuelle

Principe de

localité des références : les références à la mémoire dans un processus tendent à se regrouper

Donc: seule quelques pièces (pages ou

segments) d'un processus seront utilisées durant une petite période de temps

Il y a une bonne chance de "deviner" quelles

seront les pièces demandées dans un avenir rapproché

Module 89

Visualisation de la localité des références

Module 810

Pages en RAM ou sur disque

Page A en RAM et sur

disquePage E seulementsur disque

Module 811

Nouveau format du tableau des pages (la même idée peut être appliquée aux tableaux de segments)

Adresse de la

pageBit présent bit présent

1 si en mém. princ.,

0 si en mém second.Si la page est en mém. princ., c"est une adresse de mémoire principalesinon c"est une adresse de mémoire secondaire

Au début, bit présent = 0 pour toutes les pages

Module 812

Avantages du chargement partiel

Plus de processus peuvent être maintenus en exécution en mémoire? Puisque seules quelques pièces sont chargées pour chaque processus L'usager est content, car il peut exécuter plusieurs processus et faire référence à des gros données sans avoir peur de remplir la mémoire centrale Avec plus de processus en mémoire principale, il est plus probable d'avoir un processus dans l'état prêt, meilleure utilisation d'UCT Plusieurs pages ou segments rarement utilisés n'auront peut être pas besoin d`être chargés du tout Il est maintenant possible d'exécuter un ensemble de processus lorsque leur taille excède celle de la mémoire principale ? Il est possible d'utiliser plus de bits pour l'adresse logique que le nombre de bits requis pour adresser la mémoire principale Espace d 'adressage logique > >espace d 'adressage physique

Module 813

Mémoire Virtuelle: Pourrait Être Énorme!

Ex: 16 bits sont nécessaires pour adresser une mémoire physique de 64KB En utilisant des pages de 1KB, 10 bits sont requis pour le décalage Pour le numéro de pagede l'adresse logique nous pouvons utiliser un nombre de bits qui excède 6, car toutes les pages ne doivent pas être en mémoire simultanément Donc la limite de la mémoire virtuelle est le nombre de bits qui peuvent être réservés pour l'adresse? Dans quelques architectures, ces bits peuvent être inclus dans des registres La mémoire logique est donc appelée mémoire virtuelle?

Est maintenue en mémoire secondaire

Les pièces sont amenées en mémoire principale seulement quand c'est nécessaire, sur demande

Module 814

Mémoire Virtuelle■

Pour une meilleure performance, la mémoire

virtuelle se trouve souvent dans une région du disque qui est n'est pas gérée par le système de fichiers ?

Mémoire va-et-vient, swap memory

La mémoire physique est celle qui est référencée par une adresse physique ?Se trouve dans le RAM et cache

La conversion de l'adresse logique en adresse

physique est effectuée en utilisant les mécanismes étudiés dans le chapitre précédent.

Module 815

Mémoire virtuelle: le mécanisme de va-et-vient

Tableau de pages

Module 816

Exécution d"un Processus■

Le SE charge la mémoire principale de quelques

pièces (seulement) du programme (incluant le point de départ) Chaque entrée de la table de pages (ou segments) possède un bit présent qui indique si la page ou segment se trouve en mémoire principale

L'ensemble résident (résident set)

est la portion du processus se trouvant en mémoire principale Une interruption est générée lorsque l'adresse logique réfère à une pièce qui n'est pas dans l'ensemble résident? défaut de pagination, page fault

Module 817

Exécution d"une défaut de page: va-et-vient plus en détail

Module 818

Séquence d"événements pour défaut de page■

Trappe au SE: page demandée pas en RAM

Sauvegarder registres et état du proc dans PCB

Un autre proc peut maintenant gagner l 'UCT

SE détermine si la page demandée est légale ? sinon: terminaison du processus et trouve la position de la page sur disque? dans le descripteur de la page lire la page de disque dans un cadre de mémoire libre (supposons qu`il y en a!)? exécuter les ops disque nécessaires pour lire la page

Module 819

Séquence d"événements pour défaut de page (ctn.) L 'unité disque a complété le transfert et interrompt l'UCT? sauvegarder les registres etc. du proc exécutant SE met à jour le contenu du tableau des pages du processus qui a causé le défaut de page

Ce processus devient prêt=ready

À un certain point, il retournera à exécuter? la page désirée étant en mémoire, il pourra maintenant continuer

Module 820

Temps moyen d"accès à la mémoire

Supposons que:

• L"accès en mémoire: 100 nanosecs • temps de traitement de défaut de pagination: 25 millisecs = 25x106ns • p: probabilité de ne pas trouver une page en mémoire (défaut)

Temps moyen d"accès mémoire:

(1- p) x 100 + p x 25x10

6(pas de défaut + défaut)

En utilisant la même formule, nous pouvons déterminer quel est le nombre de défauts que nous pouvons tolérer, si un certain niveau de performance est désiré (v. manuel).Ex. avec ces paramètres, si le ralentissement à cause de pagination ne peut pas excéder 10%, 1 seul défaut de pagination peut être toléré pour chaque 2,500,000 accès de mémoire.

Module 821

Quand la RAM est pleine mais nous avons

besoin d`une page pas en RAM

Module 822

La page victime...

Module 823

Remplacement de pages■

Quoi faire si un processus demande une nouvelle

page et qu'il n'y a pas de cadres libres en RAM? Il faudra choisir une page déjà en mémoire principale, appartenant au même ou à un autre processus, qu'il est possible d'enlever de la mémoire principale? la victime

Un cadre de mémoire sera donc rendu disponible

Évidemment, plusieurs cadres de mémoire ne

peuvent pas être `victimisés`:? ex. frames contenant le noyau du SE, tampons d 'E/S...

Module 824

Bit de modification , dirty bit■La 'victime' doit-elle être réécrite en mémoire secondaire?

■Seulement si elle a été changée depuis qu`elle a été amenée en mémoire principale?sinon, sa copie sur disque est encore fidèle

■Bit de modification de chaque descripteur de page indique si la page a été changée

■Donc pour calculer le coût en temps d'une référence à la mémoire il faut aussi considérer la probabilité qu'une page soit 'sale' et le temps de réécriture dans ce cas

Module 825

Algorithmes de remplacement pages■Choisir la victime de façon à minimiser le taux de défaut de pages?pas évident!!!

■Page dont nous n'aurons pas besoin dans le futur? impossible à savoir! ■Page pas souvent utilisée? ■Page qui a été déjà longtemps en mémoire?? ■etc. nous verrons...

Module 826

Critères d"évaluation des algorithmes■Les algorithmes de choix de pages à remplacer doivent être conçus de façon à minimiser le taux de défaut de pages à long terme

■Mais il ne peuvent pas impliquer des temps de système excessifs, ex. mise à jour de tableaux en mémoire pour chaque accès de mémoire

■Ni l`utilisation de matériel dispendieux

Module 827

Explication et évaluation des algorithmes■ Nous allons expliquer et évaluer les algorithmes en utilisant la chaîne de référence pages suivante (prise du livre de Stallings):

2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2

Attention: les séquences d'utilisation pages ne sont pas aléatoires...?

Localité de référence

Ces références proviendront de plusieurs

processus L'évaluation sera faite sur la base de cet exemple qui évidemment n'est pas suffisant pour en tirer des conclusions générales Module 828Algorithmes pour la politique de remplacement ■L'algorithme optimal (OPT) choisit pour page à remplacer celle qui a été référencée le plus récemment?produit le + petit nombre de défauts de page ?impossible à réaliser (car il faut connaître le futur) mais sert de norme de comparaison pour les autres algorithmes: ?Ordre chronologique d'utilisation (LRU) ?Ordre chronologique de chargement (FIFO) ?Deuxième chance ou Horloge (Clock)

Module 829

■Ordre chronologique d'utilisation (LRU)

■Remplace la page dont la dernière référence remonte au temps le plus lointain (le passé utilisé pour prédire le futur)?En raison de la localité des références, il s'agit de la page qui a le moins de chance d'être référencée

?performance presque aussi bonne que l'algorithme OPT

Stallings

Algorithmes pour la politique de remplacement

Module 830

Comparaison OPT-LRU■Exemple: Un processus de 5 pages s'ìl n'y a que 3 pages physiques disponibles.

■Dans cet exemple, OPT occasionne 3+3 défauts, LRU 3+4.

Stallings

Module 831

Note sur le comptage des défauts de page■Lorsque la mémoire principale est vide, chaque nouvelle page que nous ajoutons est le résultat d'un défaut de page

■Mais pour mieux comparer les algorithmes, il est utile de garder séparés ces défauts initiaux?car leur nombre est le même pour tous les algorithmes

Module 832

Implémentation problématique de LRU■

Chaque page peut être marquée (dans le

descripteur dans la table de pages) du temps de la dernière référence: ? besoin de matériel supplémentaire.

La page LRU est celle avec la + petite valeur de

temps (nécessité d'une recherche à chaque défaut de page) On pourrait penser à utiliser une liste de pages dans l'ordre d'utilisation: perte de temps à maintenir et consulter cette liste (elle change à chaque référence de mémoire!)

D'autres algorithmes sont utilisés: ?

LRU approximations

Module 833

Premier arrivé, premier sorti (FIFO)■

Logique: une page qui a été longtemps en

mémoire a eu sa chance d'exécuterquotesdbs_dbs44.pdfusesText_44