La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

GEF 435 Principes des systèmes dexploitation Mémoire virtuelle (Tanenbaum 4.3)

Présentations similaires


Présentation au sujet: "GEF 435 Principes des systèmes dexploitation Mémoire virtuelle (Tanenbaum 4.3)"— Transcription de la présentation:

1 GEF 435 Principes des systèmes dexploitation Mémoire virtuelle (Tanenbaum 4.3)

2 Revue Quelle sont les deux types de base pour la gestion de la mémoire que nous avons vue? Comment tracent-on les sections de mémoire qui sont en utilisation et les trous durant la permutation?

3 Synopsis Arrière-plan de la mémoire virtuelle Pagination Tables de Pages

4 Arrière-plan La permutation de processus (entiers) nous a permit davoir plus dun programme en mémoire en même temps, mais nous navons pas adressé le problème dun programme trop large pour la mémoire (4GO par processus!) La solution qui a fait surface sappel la mémoire virtuelle. Lidée principale est de garder une partie du programme en mémoire et une partie sur le disque Maintenant un programme de 16MO peut rouler sur un système qui a seulement 4MO de RAM! Et en plus on peut avoir une quantité de processus qui roulent en même temps et que la mémoire RAM ne peut contenir

5 Arrière-plan On se rappel que, en général on compile tout les programmes avec des adresses logiques qui sont relatives à ladresse de base: zéro. Les adresses physiques sont calculées durant lexécution du programme La conversion des adresses est fait par une pièce de matériel que lon appel Unité de gestion de la mémoire ( Memory Management Unit ) (MMU) Le MMU prend les adresses logiques du processus et les transforment en adresses physique dans le RAM

6 Arrière-plan Les adresses qui sont données au MMU sont connues comme des adresses virtuelles ou adresses logiques Ces termes sont interchangeables Le MMU produit une adresse physique Ladresse physique est dans le RAM

7 Pagination Les processus croient quils peuvent accéder la mémoire entière qui leur est donnée, basé sur le nombre de lignes dadresses sur le matériel Pour un système à 32bits, cela est 2 32, ou 4GO Ceci est connue comme un espace dadresses virtuel Pour être capable de donner des sections de mémoire qui peuvent être déplacées entre le disque et la mémoire physique nous divisons lespace dadresses virtuelle en morceaux que lon appel pages Le morceau de mémoire physique qui correspond à une page est un cadre de page ( Page Frame ) ou tout simplement cadre

8 Pagination Adresses de 16-bits résultent dans un espace virtuel de 64KO Cet ordinateur en particulier a seulement 32KO de RAM Le MMU mappe les adresses virtuelles utilisées par le CPU en adresses physiques qui sont mises sur le bus

9 Pagination Manques (un X) veulent dire que la page nest pas en mémoire et le MMU Trap au SE pour que la page soit chargée Ceci est un défaut de page Quand cela ce produit le SE charge la nouvelle page dans un cadre de page (possiblement en expulsant une page qui est en utilisation) et met à jour le MMU avec la nouvelle information La place où cette information est stockée sappel Table de pages

10 Tables de pages La table de pages stock un nombre dentrées, une pour chaque page en mémoire virtuelle, indiquant si la page est dans la mémoire physique (notez que une table de pages est requise pour chaque processus!) Considérez une adresse de 16-bit avec des pages de 4KO 4KO=2 12, donc nous avons 2 4 =16 pages virtuelles à mapper

11 Tables de Pages Adresse virtuelle qui entre 4 bits12 bits Page virtuelleOffset Table de pages 3 bits12 bits Cadre de pageOffset Adresse physique qui sort 16 Entrées

12 Tables de Pages (Exemple) Adresse virtuelle qui entre 8196 dec – 2004 hex 4 bits12 bits PAGE TABLE A0 B0 C0 D0 E0 F0 3 bits12 bits Adresse physique qui sort 24,580 dec

13 Tables de Pages Quelles sont les entrées dans la table de pages? Bit de présence (pour que lon puisse savoir si on va sur le disque ou non…aussi appelé bit de validité) Bit de modification (Dirty bit) (pour que lon puisse savoir si la page a été modifiée et doit être ré-écrite sur le disque durant la pagination.) Bit dutilisation? (nous aide à décider quelle page nous allons permuter… nous allons en voir plus sur cela avec les algorithmes de remplacement de pages) Bit est mise à jour par une lecture ou une écriture

14 Tables de Pages Quelles sont les entrées dans la table de pages? Bit de Cache inhibé – utilisé pour indiquer que les références à cette page doivent toujours venir de la mémoire et non de la cache Utilisé quand les périphériques sont mappés à la mémoire Numéro du cadre de page – La raison de vivre pour la table

15 Tables de Pages Quelles sont les entrées dans la table de pages? Bits de protection – Peut spécifier quest-ce que lutilisateur peut faire avec la page ie: lire / écrire / exécuter Grandeur typique dune entrée dans la table de pages 16, 32, ou 64 bits (typiquement 32)

16 Tables de Pages Où est-ce que lon tiens la table de pages pour le processus courrant? Pour de petites tables de pages (16 à 1024 entrées) la table entière pourrait être contenue dans des registres à lintérieur du MMU On se souvient que cela demande que le SE change le MMU avec une nouvelle mappe de mémoire pour chaque nouveau processus durant un changement de contexte Cependant pour un espace dadresses avec 32-bits et des pages de 4KO, le nombre dentrées dans la table est de Un MILLION!!! Si une seule entrée dans la table contiens 32 bits cela demande 4MO despace pour stocker la table…un ordinateur très dispendieux!

17 Tables de Pages Où ailleurs pourrait-on stocker linformation de la table pour le processus courrant? Dans la mémoire principale Plus lent que les registres Sur le disque Vraiment trop lent pour nos besoins, mais on peut tricher un peut, plus dinformation le prochain cours! Une combinaison Une mixture de registres, mémoire, et disque peut être utilisée dans un système (pagination à niveaux multiples).

18 Quiz Time! Questions?


Télécharger ppt "GEF 435 Principes des systèmes dexploitation Mémoire virtuelle (Tanenbaum 4.3)"

Présentations similaires


Annonces Google