Pagination

Publié le par ENAM SAMUEL

Mécanisme de pagination

            On peut definir la pagination comme la numérotation des pages d’un document. En informatique elle consiste à attribuer des numéros à chaque page d’un fichier. Pour décrire ce mécanisme, il convient de préciser au préalable que nous disposons de deux sortes de mémoire :

la mémoire virtuelle ;

la mémoire physique.

            Le mécanisme de pagination a été concu pour lever la contrainte de contiguïté de l'espace de mémoire physique allouée aux processus. Pour ce faire, la mémoire physique est découpée en blocs de taille fixe, appelés  case tout comme la  mémoire virtuelle est elle-même découpée en blocs de taille fixe appelés  page. La taille d'une page correspond à la taille d'une case. Chaque page peut alors être placée dans une case quelconque. 

            Un registre spécial du processeur possède l'adresse de la table qui met en mémoire cette association; cette table est appelée la table des pages du processus. Géneralement, l'adresse de cette table est une adresse physique. Chaque entrée de cette table contient les informations suivantes:

  • L'indicateur de présence indique s'il y a une case allouée à cette page.
  • Le numéro de case alloué à cette page.
  • Les indicateurs de protection de la page indiquent les opérations autorisées sur cette page par le processus.
  • L'indicateur de page accédée est positionné lors d'un accès quelconque.
  • L'indicateur de page modifiée est positionné lors d'un accès en écriture.

Ces deux derniers indicateurs servent à la gestion de la mémoire physique que nous verrons par la suite.

            Lorsque le processeur traduit une adresse virtuelle, il en isole le numéro de page virtuelle qu'il utilise comme déplacement dans cette table des pages pour en trouver l'entrée correspondante. Si l'indicateur de présence est positionné, il contrôle la validité de l'accès vis à vis des indicateurs de protection. Si l'accès est accepté, il concatène le numéro de case au déplacement virtuel dans la page pour obtenir l'adresse en mémoire physique de l'emplacement recherché. Pour éviter l'accès mémoire supplémentaire à la table des pages, une mémoire associative contient les entrées de la table correspondant aux derniers accès.

            VAX-VMS utilise un tel mécanisme de pagination à un niveau, avec des pages de 512 octets. Mais pour éviter d'avoir des tailles trop importantes pour la table des pages, la mémoire virtuelle est découpée en trois régions, pouvant comporter chacune jusqu'à 1 Giga-octet. Chacune de ces régions dispose de sa propre table, et les registres correspondants contiennent leur taille effective.

  • La région système est commune à tous les processus. L'adresse de sa table de pages est une adresse de mémoire physique.
  • Les régions P0 et P1 sont propres au processus, et leur table des pages est dans la région virtuelle système. L'adresse de leur table de pages respective est donc une adresse virtuelle. Les pages de la région P0 sont dans les adresses virtuelles basses, alors que celles de la région P1 sont dans les adresses virtuelles hautes. L'augmentation de la taille de la région P0 se fait donc vers les adresses virtuelles croissantes, alors que celle de la région P1 se fait vers les adresses décroissantes.

Publié dans IN 406

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article