Memoire virtuelle
Gestion de la mémoire centrale
? Mémoire virtuelle
Joëlle Delacroix
NFA003 2006/2007
1
Mémoire virtuelle
Page 1 Page 4 Page 2 Page 3
Programme 1
Mémoire physique Page 3-1 Case 1 Page 1-1 Case 2 Case 3 Case 4 Case 5 Case 6 Case 7
2
Page 1 Page 2 Page 3
Programme 2
Page 3-2 Page 1-2 Page 2-2
Page 1 Page 4 Page 2 Page 3
Programme 3
Espaces d’adressage des programmesJoëlle Delacroix
Page 1 Page 1 Page 2 Page 3 Page 2 Page Page 2 Page 4 Page 2 Page 1 4 Page 3
NFA003 2006/2007
Page 2-1 Page 4-1
Mémoire virtuelle
• La capacité de la mémoire centrale est trop petite pour charger l’ensemble des pages des programmes utilisateurs.
? Ne charger que les pages utiles à un instant (principes de localité). Mémoire physique Page 1 Page 4 Page 2 Page 3Programme 1 Page 1 Page 4 Page 2 Page 3 Programme 3 Page 3-3 Page 1 Page 2 Page 3 Programme 2 Page 1-1 Page 3-2 Page 2-1 Page 1-3 Page 2-3 Page 4-1 Case 1 Case 2 Case 3 Case 4 Case 5 Case 6 Case 7
3
Page 1 Page 1 Page 2 Page 3 Page 2 Page Page 2 Page 4 Page 2 Page 1 4 Page 3
NFA003 2006/2007
Joëlle Delacroix
Bit de validation
• Ne charger que les pages utiles à un instant
? il fautpouvoir tester la présence d’une page en mémoire centrale
V
N° de case physique
• Bit validation à vrai si la page est présente en mémoire centrale
Joëlle Delacroix
NFA003 2006/2007
4
Bit de validation
V V I V 2 4 7 I I V 3 V V V I 5 6 1 –
Processus 2
Processus 1 Page 1 Page 4 Page 2 Page 3 Programme 1 Page 1 Page 4 Page 2 Page 3 Programme 3 Page 1 Page 1 Page 2 Page 3 Page2 Page Page 2 Page 4 Page 2 Page 1 4 Page 3
NFA003 2006/2007
Processus 3
Mémoire physique Page 3-3 Case 1 Case 2 Case 3 Case 4 Case 5 Case 6 Case 7
5
Page 1 Page 2 Page 3 Programme 2
Page 1-1 Page 3-2 Page 2-1 Page 1-3 Page 2-3 Page 4-1
Joëlle Delacroix
Bit de validation et défaut de page
V V I V 2 4 7 I I V 3 V V V I 5 6 1 –
Processus 2
Processus 1 Page 1 Page 4 Page 2Page 3 Programme 1 Page 1 Page 4 Page 2 Page 3 Programme 3
Processus 3
Mémoire physique Page 3-3 Page 1-1 Case 1 Case 2 Case 3 Case 4 Case 5 Case 6 Case 7
6
Page 1 Page 2 Page 3 Programme 2
Processus 2 : accès à la page 2 DEFAUT DE PAGE
Page 3-2 Page 2-1 Page 1-3 Page 2-3 Page 4-1
Page 1 Page 1 Page 2 Page 3 Page 2 Page Page 2 Page 4 Page 2 Page 1 4 Page 3
NFA003 2006/2007Joëlle Delacroix
Bit de validation et défaut de page
• Ne charger que les pages utiles à un instant
? il faut pouvoir tester la présence d’une page en mémoire centrale :
? rôle du bit de validation
? si un processus cherche à accéder à une page non présente en mémoire centrale, il se produit un déroutement de défaut de page
• le système d’exploitation lance une entrée/sortie disquepour charger la page en mémoire dans une case libre. L’adresse de la page sur disque est stockée dans la table des pages.
Joëlle Delacroix NFA003 2006/2007 7
Défaut de page
Adresse logique p d
Table Pages
Registre adresse Table des pages adresse table
1. Déroutement E/S disque
6
case libre
+ I Adresse page disque
Table des pages
Joëlle Delacroix
Table du disqueoccupée
NFA003 2006/2007 8
Défaut de page
Adresse logique p d 4. Reprise instruction
Table Pages
Registre adresse Table des pages adresse table
6 2 Chargement de la page
case libre
+ V 6 3. Mise à jour table des pages
Table des pages
occupée
Joëlle Delacroix NFA003 2006/2007 9
Chargement des pages : à la demande
Pour i = 1 à 10 Faire A(i) = 2; B(i) = 5; i = i + 1; Fait0 1 2 3 4 5 6 7 R1 ? 1 R2 ? 10 comp R1, R2 si R1 > R2 fin A(R1)? 2 B(R1)? 5 R1 ? R1 + 1 aller à 2
Page 2 vecteur A
Page 1 code Page de 10 mots Références aux pages : 11(112311)10
Joëlle Delacroix NFA003 2006/2007
Page 3 vecteur B
3 2 1
10 accès
Chargement des pages : à la demande
Références aux pages : 11(112311)10
3 2 1
accès
Défaut de page Chargement de P1 en MC succès…