Facult´
e des Sciences de Gab`
es
D´
epartement Informatique
Syst`emes d’exploitation 2
Ch 4: Gestion de la m´emoire virtuelle
Section: LFSI2/LARI2
A.U: 2014/2015
1 La pagination
La pagination permet d’avoir en m´emoire un processus dont les adresses ne sont pas adja-
centes. Pour r´ealiser ceci on partage l’espace d’adressage du processus en page et la m´emoire
physique en cadre de mˆeme taille (Quelque KO). Les pages du processus sont charg´ees dans les
cadres libres de la m´emoire.
2 Principe de la m´emoire virtuelle
La m´emoire virtuelle permet d’ex´ecuter des programmes dont la taille d´epasse la taille de la
m´emoire r´eelle. Pour cela, on d´ecoupe les processus en pages et la m´emoire en cadres de mˆeme
taille.
L’encombrement total du processus constitue l’espace d’adressage ou la m´emoire virtuelle. Cette
m´emoire virtuelle r´eside sur le disque. Le sous-ensemble de pages charg´ees en m´emoire centrale
est appel´e l’espace physique ou l’espace r´eel.
Lorsqu’une adresse est g´en´er´ee(le processus demande une adresse virtuelle ”Logique”), elle est
transcod´ee grˆace `a une table de pages (appel´ee aussi table de transcodage) pour lui faire corre-
spondre son ´equivalent en m´emoire physique. Ce transcodage est effectu´e par le MMU (Memory
Management unit ”Unit´e de gestion de m´emoire”). Si cette adresse correspond `a une adresse
physique, le MMU transmet sur le bus l’adresse r´eelle (physique) sinon il se produit un d´efaut
de page. Pour pouvoir acc´eder `a la page dont est g´en´er´ee l’adresse, on devra pr´ealablement la
charger en m´emoire r´eelle. Si la m´emoire est satur´ee, on choisit parmi les pages charg´ees en
m´emoire r´eelle une page victime(en utilisant un algorithme de remplacement). Si cette derni`ere
a ´et´e modifi´ee, on la rapporte en m´emoire virtuelle et on charge `a sa place la page `a laquelle on
d´esire acc´eder.
La taille de la m´emoire virtuelle est fix´ee par la taille des registres, la plupart des machines
ont des registres de 32 bits donc les adresses logiques varient entre 0 et 232 1 c-`a-d un espace
d’adressage de 4 GO.
3 Performance de la m´emoire virtuelle
Le temps de traitement d’une faute de page (le choix d’une page victime, l’acc`es au disque,
le transfert, etc.) sera `a l’ordre de 20 ms (103s) `a comparer avec un temps d’acc`es `a la m´emoire
de l’ordre de 80 ns (109s). Si le taux de faute de page est P alors le temps d’acc`es `a la m´emoire
virtuelle sera :
T= (1 p)80ns +p20ms. (1)
On peut am´eliorer la performance de la m´emoire virtuelle de 2 mani`eres :
R´eduire le temps d’acc`es au disque.
R´eduire la valeur de p par le choix d’un algorithme de remplacement de page ad´equat.
1
4 Caract´eristique d’un algorithme de demande de page
1. Statique ou dynamique : Un algorithme statique alloue un nombre fixe de cadres pour
chaque processus. Un algorithme dynamique permet de changer le nombre de cadre d’un
processus en cours d’ex´ecution.
2. Strat´egie de chargement : Quand une page doit ˆetre charg´ee dans un cadre, on peut
choisir la demande de page pure (une page n’est charg´ee que si elle est demand´ee). On
peut aussi d´ecider de pr´e-paginer c’est-`a-dire de charger `a l’avance un certain nombre de
pages dans des cadres.
3. Strat´egie de remplacement : S’il n’y a pas des cadres libres, quelle page occupant un
cadre doit ˆetre tu´ee pour placer la nouvelle page.
4. Strat´egie de placement : Dans quel cadre la la page doit ˆetre charg´ee ? Les choix sont
li´ees. Par exemple, si on choisit un algorithme statique alors la strat´egie de placement est
impos´ee : une nouvelle page est toujours charg´ee dans le cadre qui vient d’ˆetre lib´er´e par
l’algorithme de remplacement de page.
5 Algorithme statique de remplacement
Le meilleur algorithme est celui qui produit le moins de fautes de pages. Nous allons les
comparer `a partir d’un exemple simple d’un processus qui dispose de 8 pages (num´erot´es de
0 `a 7) et qui lui allou´e 3 cadres de pages (initialement vides). Nous supposons qu’au cours de
l’ex´ecution du processus, la s´equence de demande de page est la suivante :
0-1-2-3-0-1-2-0-3-0-2-3-4-5-6-7
5.1 PAPS (FIFO)
C’est l’algorithme le plus simple qui peut ˆetre utilis´e lorsqu’un d´efaut de page se produit,
c’est la page qui occupe depuis le plus long temps un cadre est tu´e (victime).
PAPS se base sur la dur´ee de temps qu’une page a pass´e dans la m´emoire et non sur son
taux d’utilisation. En pratique, PAPS est tr`es peut utilis´e, son seul avantage ´etant sa simplicit´e
d’impl´ementation.
Cadre 0 1 2 3 0 1 2 0 3 0 2 3 4 5 6 7
0 0003332222224447
1 111000033333555
2 22211110000066
FDP XXXXXXX XX XXXX
Nombre de fautes de pages=13.
5.2 LRU (Least Recently Used) : Moins r´ecemment utilis´e
Lorsque un FDP se produit, la victime est la plus ancienne page utilis´ee.
Cadre 0 1 2 3 0 1 2 0 3 0 2 3 4 5 6 7
0 0003332222222555
1 1 1 1 0 0 0 0 0 0 0 0 4 4 4 7
2 2 2 2 1 1 1 3 3 3 3 3 3 6 6
FDP XXXXXXX X XXXX
Nombre de fautes de pages=12.
2
5.3 MRU (Most Recently Used) :Plus r´ecemment utilis´e
Lorsque un FDP se produit, la victime est la derni`ere page utilis´ee.
Cadre 0 1 2 3 0 1 2 0 3 0 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
2 2 3 3 3 3 3 3 3 3 3 4 5 6 7
FDP X X X X X X X X X
Nombre de fautes de pages=9.
5.4 LFU (Least Frequently used) : Moins fr´equemment utilis´e
Lorsqu’une faute de page se produit, c’est la page qui ´et´e la moins r´ef´erenc´ee (moins au
nombre d’utilisation) qui est tu´ee. En cas d’´egalit´e on choisit al´eatoirement ou on applique un
autre algorithme.
Cadre 0 1 2 3 0 1 2 0 3 0 2 3 4 5 6 7
0 0003332222224567
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
2 2 2 2 1 1 1 3 3 3 3 3 3 3 3
FDP XXXXXXX X XXXX
Nombre de fautes de pages=12.
5.5 Algorithme optimal de Belady
Lorsqu’une faute de page se produit, c’est la page qui sera utilis´ee le plus loin qui est tu´ee.
Cadre 0 1 2 3 0 1 2 0 3 0 2 3 4 5 6 7
0 0 0 0 0 0 0 0 0 0 0 0 0 4 5 6 7
1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
2 2 3 3 3 3 3 3 3 3 3 3 3 3 3
FDP X X X X X X X X X
Nombre de fautes de pages=9.
3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !