Le processus de pagination dans la gestion de la mémoire
LA PAGINATION
INTRODUCTION
Pour pouvoir pallier aux problèmes d’insuffisances de la mémoire centrale, en 1961 J. Fotherigham proposa le principe de la mémoire virtuelle. Cette technique consiste à simuler une mémoire plus importante que la mémoire physique disponible en utilisant des espaces de stockage plus grand. Grâce à cette dernière, (mémoire virtuelle), on peut faire fonctionner un nombre plus important de processus que ne le permettrait la mémoire vive.
Cette notion fait donc appel aux différents mécanismes d’allocation de la mémoire ; ces mécanismes là qui auront pour tâche d’allouer de la mémoire aux processus qui en ont besoin : on peut citer entre autre :
Ø L’allocation contigüe
Ø La segmentation
Ø La pagination
Dans le cadre de nos recherches, nous nous baserons essentiellement sur la pagination ; à savoir qu’entend t-on par pagination ? Quel est son principe ? par la suite, nous ferons mention d’une illustration de ce principe de pagination et enfin nous ferons ressortir les avantages et les inconvénients de ce principe.
1- DEFINITION
La technique de pagination ou paging consiste ici à organiser la mémoire en zones de taille fixes ou identiques appelées cadres de page ou en anglais « page frame ».
2- PRINCIPE
L’espace d’adressage d’un processus est divisé en petites unités de taille fixe appelées pages. La mémoire centrale elle aussi se présentant en unités physiques de même taille appelées cadres. Les communications ou échanges entre mémoire centrale et disque dur portent sur des pages entières.
A cet effet, l’espace qui est réservé à l’adressage d’un processus est potentiellement illimité ; c'est-à-dire limité à l’espace de la mémoire totale de la machine. Ceci fait donc appel à la notion d’adressage virtuel.
I l est important de noter que pour un processus donné, le système d’exploitation ne chargera que les pages utilisées et cette demande de pages à charger peut être plus élevée que le nombre de cadres actuellement disponibles. Dans ce cas, on aura aussi besoin d’une gestion de l’allocation des cadres libres.
Dans un système d’exploitation sans mémoire virtuelle, pour allouer de l’espace aux différents processus, la machine calcule les adresses physique en ajoutant le contenu d’un registre de base aux adresses de ces processus tandis que ;
Dans le système d’exploitation à pagination, la MMU (Memory Management Unit ou unité de gestion de la mémoire) qui est un sous ensemble insérée entre l’unité centrale et la mémoire centrale traduit les adresses virtuelles en adresses physiques.
Il convient de noter que cette unité de gestion de la mémoire mémorise :
Ø Les cadres physiques qui sont alloués à des processus (sous forme d’une table de bits de présence).
Ø Les cadres mémoire alloués à chaque page d’un processus (sous la forme d’une table des pages).
On dira dès lors qu’une page est mappée ou chargée si elle est physiquement présente en mémoire.
3- ILLUSTRATION : Mécanisme de pagination
Selon le schéma ci-dessous, les pages ont une taille de 4 Ko. La mémoire logique est organisée de la même façon avec des blocs de la taille de ceux de la mémoire physique et appelés pages. Lorsqu’un processus a besoin de la mémoire, il lui est alloué autant de pages qu’il en a besoin dans les limites en réalité.
0 | L0 |
1 | L1 |
2 | L2 |
3 | L3 |
|
|
4 | L4 |
5 | L5 |
6 | L6 |
7 | L7 |
|
|
8 | L8 |
9 | L9 |
10 | L10 |
11 | L11 |
|
|
12 13 14 15 | L12 L13 L14 L15
|
0 |
|
4 | L8 L10 L11 |
8 | L12 |
12 |
|
16 |
|
20 | LO |
24 | L4 |
26 |
|
Page de table
0 1 2 3 | 5 |
6 | |
1 | |
2 |
|
Mémoire logique
Mémoire physique
Suivant l'exemple ci-dessus, le contenu de la page 0 de la mémoire logique correspond au contenu de la page 5 de la mémoire physique (LO .L1, L2, L3).Le contenu de la page 1 de la mémoire logique ou mémoire de travail correspond au contenu de la page 6 de la mémoire physique (L4, L5, L6, L7).
4- AVANTAGES
Ø Ici, on constate que cette technique ne crée pas de fragmentation de la mémoire externe car les blocs sont de taille fixes et chaque bloc lorsqu’il doit être alloué à un processus l’est entièrement même si celui-ci a demandé un espace plus petit que la taille des blocs.
Ø Il est aussi important de noter qu’on est pas obligé de donner à un processus des blocs qui se suivent
5- INCONVENIENTS
Ø Crée de la fragmentation interne car il est limité au dernier bloc alloué à un processus et par là crée des petits espaces inutilisables à l’intérieur des blocs. Ce qui implique donc un gaspillage de l’espace mémoire.
Ø Un processus peut être éparpillé n’importe où dans la mémoire physique.
Ø Cette technique n’est pas visible au programmeur.
CONCLUSION
Au terme de notre analyse, bien que cette méthode d’allocation de la mémoire présente des inconvénients, il est judicieux de noter qu’elle est d’une grande aide au système d’exploitation en vue de lutter contre les problèmes d’insuffisance de la mémoire via la mémoire virtuelle.