Académique Documents
Professionnel Documents
Culture Documents
Partie II :
Gestion de la mémoire
P-A. Champin
Département Informatique
IUT A – Université Claude Bernard Lyon 1
2006
Partie II :
Gestion de la mémoire
●
abstraction
– translation
●
arbitrage entre plusieurs processus
– protection
– allocation et ré-allocation
– partage
●
extension du matériel
– mémoire virtuelle
0B
13
1C
a physique = f alogique
●
La fonction f peut être implémentée au niveau logiciel
où au niveau matériel
●
Nécessité de « déplacer » les processus, ce qui est
très coûteux...
rapide
registre
mémoire
cache
RAM
économique
Disque dur
2. Pagination
Principe
Table des pages et TLB
00
10
20
30
40
50
5B
adresses logiques
(vue du processus)
table de correspondance
(propre au processus)
adresses physiques
(vue du SE)
10
30
00
40
20
50
5B
SE- Partie II : Gestion de la mémoire - P-A. Champin - IUT A - 2006 19
Principe de la pagination :
Avantages (1)
●
Translation :
résolue grâce à la notion d'adresses logiques
●
Protection :
par défaut, chaque cadre est alloué à un seul
processus (c'est un choix du SE, pas une contrainte
matérielle)
●
Partage :
on peut allouer des pages à plusieurs processus s'ils
le demandent
SE- Partie II : Gestion de la mémoire - P-A. Champin - IUT A - 2006 21
Principe de la pagination :
Avantages (3)
00
adresses logiques
(vue du processus 1)
adresses physique
(vue du SE)
00
adresses logiques
(vue du processus 2)
supposons tp = 10
●
La taille des pages est une puissance de 2
→ les opérations div et mod se ramènent à
« couper » en deux d'adresse
●
On peut donc séparer le codage d'une adresse en
deux parties :
numéro de page/bloc et décalage (offset)
15 0
n° page offset
n° page offset
●
adresses physiques sur 22 bits (512x8 Ko adressables)
21 12 0
n° bloc offset
●
exemple : [ 96, 8, 23, 55, swap, swap, 0, 0 ]
15 12 0
0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1
0102 = 210
n° page offset
2310 = 101112
21 12 0
0 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1
n° bloc offset
●
adresses logiques et adresses physiques sur 32
bits
– 4 Go octets adressables pour chaque processus
●
pages de 4 Ko
– numéro de page/cadre sur 20 bits
●
R,W,X : indiquent si la page est accessible en lecture /
écriture / exécution
●
a (accessed) : indique si la page a été lue
●
d (dirty) : indique si la page été modifiée
●
p (present) : indique si la page est présente en RAM
ou sur l'espace de swap
●
Le bit dirty permet de savoir s'il est nécessaire de
mettre à jour l'espace d'échange (swap)
●
A raison de 32 bit par PTE, la table des pages
occuperait 4Mo !
●
Solution matérielle : tables à plusieurs niveaux
– ...
●
On n'a besoin d'allouer uniquement les sous-tables qui
sont effectivement utilisées
sous-table 0
index
sous-table 1
sous-table i
●
On peut travailler avec plus de 2 niveaux (4 niveaux
sur le Motorola 68030)
Principe
Stratégies
Remarques générales
RAM : A F B C
?
SWAP : B E A G I D H
●
NB : ce problème ne le limite pas à la gestion de
mémoire paginée, mais à tout type de cache.
●
Utile pour évaluer les autres approches a posteriori
3 2 1 0 3 2 4 3 2 1 0 4 2 3 3 1 0 4
17 erreurs
3 2 1 0 3 2 4 3 2 1 0 4 2 2 3 1 0
3 2 1 0 3 2 4 4 4 1 0 0 2 3 3 1 0 4
14 erreurs 3 3
2 2
1 1
0 0
3 3
2 3
2 3
2 2
4 1 0
1 4
0 2 2 3 1 0
3 2 1 0 3 3 3 2 1
4 0
4 4
1 2
0 2
0 3
2 1
3 0
1
3 2 1 0 0 0 4 3 2 1 0 4 4 3 2 1 0 4
3 3
2 2
1 1 0
1 3
0 3
4 3 2 1 0 4
0 2
4 2
3 3
2 1 0
15 erreurs
3 2 1
2 0
2 3
1 3
0 3
4 2
3 1
2 0
1 4
1 2
0 2
4 3 1
2 0
1
3 2
3 1
3 0
3 3
2 3
1 3
0 2
4 1
3 0
2 4
2 2
1 2
0 3
4 1
3 0
2
●
Remplacement local
– passe mieux à l'échelle (pas de structure globale)
●
La hiérarchie des mémoire change de structure (RAM
trop grande)
●
Unification de la mémoire virtuelle et du cache des
fichiers
Problématique
Méthodes
Stratégies de remplacement de pages
●
Note : le problème est sensiblement différent de celui
de l'allocation de mémoire à différents processus (pas
de nécessité de translation, de protection...)
●
Inconvénients :
– rechercher une zone libre de taille donnée est coûteux
●
Peu utilisé en pratique
●
Premier trouvé (first fit)
Méthode la plus simple et la plus rapide
●
En pratique : la méthode du premier trouvé a souvent
le meilleur compromis entre temps de calcul et
efficacité de la gestion
– inconvénient : fragmentation
16 ko
8 ko
4 ko
2 ko
...
16 ko
8 ko
4 ko
2 ko
...
16 ko
8 ko
4 ko
2 ko
...
16 ko
8 ko
4 ko
2 ko
...
16 ko
8 ko
4 ko
2 ko
...
16 ko
8 ko
4 ko
2 ko
...
16 ko
8 ko
4 ko
2 ko
...
16 ko
8 ko
4 ko
2 ko
...