24. allocation mémoire paginée Flashcards
fonctionnement Allocation mémoire paginée
On divise la mémoire physique en petits
morceaux nommés trames (frames)
- On divise la mémoire virtuelle en petits
morceaux nommés pages - Une trame a toujours la même taille qu’une
page. Dans l’exemple, la taille d’une page/
trame est de 256Ko - Lorsqu’on alloue de la mémoire à un
processus, on attribue une page à une trame
Comment fait-on pour savoir
* l’endroit où une page est stockée?
* la correspondance entre une page et une trame?
La table des pages est une structure de données dans le
MMU qui conserve la correspondance entre chaque
page mémoire virtuelle—trame mémoire physique
En pratique, on ne stocke pas
le numéro de —- en mémoire.
Le numéro de —– dans la table
correspond au numéro de —-.
En pratique, on ne stocke pas
le numéro de page en mémoire.
Le numéro de ligne dans la table
correspond au numéro de page.
Une table des pages indique:
le numéro de trame correspondant à chaque page
la table des pages inversée est
le numéro de page correspondant à chaque trame
La taille d’une table des pages inversée est
proportionnelle à la
taille de la mémoire physique
La table des pages inversées est une structure de données
dans le MMU qui conserve la correspondance entre chaque
trame de la mémoire physique——page de la mémoire virtuelle
table des pages:nb ligne
il y a une ligne par page
L’information stockée dans chaque ligne
le numéro de trame
correspondant à chaque page
combien de bits sont nécessaires pour représenter le numéro de trame?
log2(nb trames)
Calcul de la taille
taille = (nb pages) × (nb bits nécessaires pour représenter une trame)= = (nb pages) × log2(nb trames)
nb pages
taille mémoire virtuelle/
taille d’une page
nb trames
taille mémoire physique/
taille d’une trame
Dans le cas de l’allocation mémoire paginée, le MMU
est plus complexe que pour l’allocation contigüe
* On ne peut plus simplement additionner la première
adresse!
* Pour traduire l’adresse, il faut effectuer trois étapes
- Déterminer la page de l’adresse virtuelle;
- Trouver la trame (dans la mémoire physique)
correspondant à cette page; - Remplacer le numéro de page par le numéro de
trame
- Déterminer la page de l’adresse virtuelle
* Une adresse virtuelle est divisée en deux:
le numéro de page (MSB)
* la position dans la page (LSB)