24. allocation mémoire paginée Flashcards

1
Q

fonctionnement Allocation mémoire paginée

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Comment fait-on pour savoir
* l’endroit où une page est stockée?
* la correspondance entre une page et une trame?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

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 —-.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Une table des pages indique:

A

le numéro de trame correspondant à chaque page

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

la table des pages inversée est

A

le numéro de page correspondant à chaque trame

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

La taille d’une table des pages inversée est
proportionnelle à la

A

taille de la mémoire physique

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

La table des pages inversées est une structure de données
dans le MMU qui conserve la correspondance entre chaque

A

trame de la mémoire physique——page de la mémoire virtuelle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

table des pages:nb ligne

A

il y a une ligne par page

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

L’information stockée dans chaque ligne

A

le numéro de trame
correspondant à chaque page

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

combien de bits sont nécessaires pour représenter le numéro de trame?

A

log2(nb trames)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Calcul de la taille

A

taille = (nb pages) × (nb bits nécessaires pour représenter une trame)= = (nb pages) × log2(nb trames)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

nb pages

A

taille mémoire virtuelle/
taille d’une page

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

nb trames

A

taille mémoire physique/
taille d’une trame

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

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

A
  1. Déterminer la page de l’adresse virtuelle;
  2. Trouver la trame (dans la mémoire physique)
    correspondant à cette page;
  3. Remplacer le numéro de page par le numéro de
    trame
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  1. Déterminer la page de l’adresse virtuelle
    * Une adresse virtuelle est divisée en deux:
A

le numéro de page (MSB)
* la position dans la page (LSB)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Le nombre de bits utilisé pour ces deux parties (adresse virtuelle)dépend de la taille

A

Le nombre de bits utilisé pour ces deux parties dépend de la taille
d’une page

17
Q
  1. Trouver la trame correspondant à cette page
    * Comment fait-on pour savoir
    * l’endroit où une page est stockée?
    * la correspondance entre une page et une trame?
A

On utilise la table des pages, une structure de données
dans le MMU qui conserve la correspondance entre
chaque:
* page de la mémoire virtuelle
* trame de la mémoire physique

18
Q
  1. Remplacer le # de page par le # de trame
    * Supposons que la table des pages révèle que la
    page 0x3D correspond à la trame 0x2F3 … il faut
A

Il suffit de remplacer le numéro de page par le
numéro de trame pour obtenir l’adresse physique

19
Q
  • Un ordinateur possède plusieurs
    programmes, situés sur le disque
    dur
  • Lors du démarrage du
    programme
A

Les ressources nécessaires
(mémoire, etc.) sont créées par le
système d’exploitation lorsque le
programme est démarré

20
Q

Création d’un processus—allocation pagineé

A

le processus est divisé en pages,
* qui sont attribuées à différentes trames en RAM

21
Q

Est-ce qu’un processus doit être
entièrement en mémoire

A

Seules les pages nécessaires à
l’exécution doivent être en mémoire

22
Q

Laquelle est plus grosse:
la mémoire virtuelle (pour tous les processus)
ou la mémoire physique?
Ou est-ce que les deux doivent avoir la même taille?

A

La mémoire virtuelle peut être beaucoup plus grosse
que la mémoire physique

23
Q

2 conditions pour qu’un programme puisse
s’exécuter

A

l’instruction (ou la donnée) nécessaire doit être en
mémoire RAM
* la table de pages pour ce programme doit contenir une
entrée qui traduit l’adresse (virtuelle) du programme
vers l’adresse (physique) en RAM

24
Q

Une —- survient lorsque le processus
requiert une page qui n’est pas en mémoire

A

faute de page

25
Q

comment régler la faute de page
S’il y a de la place dans la mémoire physique:

A
  1. Créer la nouvelle page;
  2. Placer la page en mémoire physique dans une trame
    vide;
  3. Mettre à jour la table des pages et la table des pages
    inversée.
26
Q

comment régler la faute de page
S’il n’y a plus de place dans la mémoire physique:

A

Déterminer la page la plus anciennement utilisée (cela fait
longtemps qu’on ne l’a pas utilisée);
2. Évincer la page de la mémoire physique.
* Cependant, cette page pourrait être utilisée à nouveau par le processus parce qu’elle peut contenir des instructions ou des données importantes.
* Il nous faut donc sauvegarder la page sur le disque dur
* La page est sauvegardée dans un fichier spécial, nommé le Swap File.

  1. Trouver une trame libre en RAM;
  2. Créer la page (ou la chercher sur le disque dur si elle a déjà été créée);
  3. Placer la page en mémoire physique dans la trame sélectionnée
    à l’étape 2;
  4. Mettre à jour la table des pages et la table des pages inversée.