Académique Documents
Professionnel Documents
Culture Documents
Partie 2
INTRODUCTION
1
Problèmes à résoudre
Comment structurer ces 2 espaces
Où charger les processus et comment
généralement en puissance de 2)
Allocation par multiple de pages
Logical Mémoire
memory PAGE TABLE physique
Le SE divise la
mémoire physique enpage frame Attributes
bloc de même taille 0 4
appelé Cases ou 1 3
Cadres de pages
2 1
3 5
Pagination
10
Logical Mémoire
memory PAGE TABLE physique
Le SE divise la
mémoireP0physique enpage frame Attributes f0
bloc deP1même taille 0 4 f1
appeléP2Cases ou 1 3 f2
Cadres de pages
P3 2 1 f3
3 5 f4
f5
Pagination
11
Mémoire Physical
Le SE divise la
logique PAGE TABLE memory
mémoire logique en
page bloc
frame Attributes
de même taille f0
0 appelé
4 pages f1
1 de 3même taille que f2
les cases de la
2 1 f3
mémoire physique
3 5 f4
f5
Pagination
12
Table de page
C’est une table contenant autant d'entrées que de
chaque processus
Une table de pages est indexée par le numéro
Mémoire Mémoire
logique TABLE DE PAGES physique
P0 page Case Attributes f0
P1 0 4 f1
P2 1 3 f2
P3 2 1 f3
3 5 f4
f5
Logical Mémoire
memory TABLE DE PAGES physique
P0 page Case Attributes f0
P1 0 4 f1
P2 1 3 f2
P3 2 1 f3
3 5 P0 f4
f5
Mémoire Mémoire
logique TABLE DE PAGES physique
P0 page Case Attributes f0
P1 0 4 f1
P2 1 3 f2
P3 2 1 P1 f3
3 5 P0 f4
f5
Mémoire Mémoire
logique PAGE TABLE physique
P0 page Case Attributes f0
P1 0 4 P2 f1
P2 1 3 f2
P3 2 1 P1 f3
3 5 P0 f4
f5
Mémoire Mémoire
logique TABLE DE PAGES physique
P0 page Case Attributes f0
P1 0 4 P2 f1
P2 1 3 f2
P3 2 1 P1 f3
3 5 P0 f4
P3 f5
Mémoire Mémoire
logique TABLE DE PAGES physique
P0 page Case Attributes f0
P1 0 4 P2 f1
P2 1 3 f2
P3 2 1 P1 f3
3 5 P0 f4
P3 f5
Rappelons:
Un programme est divisé en pages de taille S.
Chaque mot du programme a une adresse dite
adresse logique (virtuelle).
p le numéro de page
p = adresse logique div S
d déplacement (offset)
d = Adresse logiquemod S
Pagination
30
Adresse Adresse
logique physique
p d f d
p f
Mémoire Mémoire
logique physique
Pagination
32
Exemple
Considérons les informations suivantes concernant une
correspondance
Taille de la Page Size = 8 mots ➔ d : 3 bits
Taille de la mémoire physique = 128 mots
= 128/8=16 cases ➔ f : 4 bits
Considérons qu’un programme est au maximum de 4 pages ➔
p : 2 bits
Soit A un programme de 3 pages où P0 → f3; P1 → f6; P2
→ f4
Mémoire logique Mémoire physique
Word 0 … …
33 Word 1 Page 0 Word 0
… (P0) Word 1 Frame 3
Word 7 Table de … (f3)
page
Word 8 Page Frame Word 7
Word 9 Page 1 0 3 Word 16
… (P1) 1 6 Word 17 Frame 4
Word 15 2 4 … (f4)
Word 16 Word 23
Word 17 Page 2
… (P2) … …
Word 23
Word 8
Word 9 Frame 6
… (f6)
Word 15
… …
Pagination
34
Program
Line
Word 0
Word 1
…
Word 7
Word 8
Word 9
…
Word 15
Word 16
Word 17
…
Word 23
Pagination
35
Ligne Adresse
programme logique
Word 0 00 000
Word 1 00 001
… …
Word 7 00 111
Word 8 01 000
Word 9 01 001
… …
Word 15 01 111
Word 16 10 000
Word 17 10 001
… …
Word 23 10 111
Pagination
36
p d
physical address
YES f d
access PT access
P<PTLR
in registers memory
NO rat mat
ERROR
un
second accès est nécessaire à la lecture ou l'écriture
de l'octet recherché à l'adresse :
<adresse physique > + d.
Pagination :Implémantation 2
46 logical address
PTBR: Page Table Base Register
p d PTLR: Page Table Length Register
Access PT
entry physical address
YES in Memory f d
P<PTLR at address access
PTBR + p memory
NO mat mat
Effective Memory Access Time : emat=mat+mat=2*mat
ERROR
3 15
7 19
0 17
2 23
recherche
Pagination :Implémentation 3
Schéma d’utilisation TLB
52
Dans l’UCT
En
mémoire
Dans le cas de ‘miss’, f est trouvé en mémoire, puis il es mis dans le TLB
Pagination :Implémentation 3
Associative registers
53
Chaque paire dans le TLB est fournie avec un indice de référence pour savoir
si elle a été utilisée récemment. Sinon, elle est remplacée par la dernière
paire dont on a besoin
Contenu courant:
Compt No Page No Cadre
1 3 15
0 7 19
3 0 17
2 2 23
Tableau de pages
du tableau de pages
Pagination :Implémentation 3
Table de pages à deux niveaux
63
Chap. 9
Pagination : protection
64
Exemple:
on peut exécuter un programme de 1 Mo sur
une machine de 256 Ko
En choisissant judicieusement les 256 Ko du
bit présent
Si la page est en mémoire Adresse de la Bit 1 si en mém. princ.,
principale., ceci est une page présent 0 si en mém second.
adresse de
mémoire Principale
Mémoire
virtuelle
Mémoire Virtuelle: paginée
Séquence d’événements pour défaut de page
82
Solutions
Chargement différé
Attendrequ’une case se libère
On se ramène au problème de placement
La page victime...
88
Chap 10
Mémoire Virtuelle paginée
Remplacement de pages
89
Chap 10
Mémoire Virtuelle paginée
Algorithmes de remplacement pages
91
Éléments de base :
Chaîne de référence : Suite de n°de pages référencées par
un processus
Exemple : <1,1,1,4,4,5,2,3,3,3,1,1, … >
Critères de performance
Meilleur algorithme
Celui qui donne le plus petit nombre de défauts de
pages pour une chaîne donnée
Mémoire Virtuelle paginée
Algorithmes de remplacement pages
98
Intérêt
Il est possible de deviner les accès futurs à partir
réutilisée immédiatement
L’IDEE:
Une page qui a été longtemps en mémoire a eu sa
chance de s’exécuter
Si R==0
Page supprimée
Nouvelle page insérée à sa place
Aiguille avancée de 1
Si R==1
R=0
Aiguille avancée de 1
Algorithme de l’horloge: un exemple (Stallings).
112
Les pages sont en ordre FIFO
référencée
Idée : utiliser le passé pour prédire le futur
Page récemment référencée a plus de chance d’être
référencée de nouveau qu’une page ancienne.
Classer les pages par leur ordre chronologique
d’utilisation
Mémoire Virtuelle paginée
Algorithme : LRU
114
Implémentation hardware
Un compteur C est incrémenté après chaque instruction
La valeur de C au moment d’un accès mémoire est stocké dans
l’entrée correspondante de la table des pages
Si défaut de page le SE examine les valeurs du compteur dans
les pages et trouve l’accès le plus ancien
Mémoire Virtuelle paginée
Algorithme : LRU
116
Mémoire Virtuelle paginée
Algorithme : LRU
117
Stallings
LRU avait ôté la page 3 ne sachant pas qu’elle sera bientôt demandée
Comparaison de FIFO avec LRU (Stallings)
119
119
Chap 10
Anomalie de Belady
Situation considérée normale
125
Anomalie de Belady (FIFO)
126