Croisière au coeur d'un OS Etape 4 : La pagination

x86 : Répertoire des pages et tables des pages

Présentation

Dans la page précédente nous avons parlé de table de premier niveau et table de second niveau qui sont respectivement le répertoire des pages (PD) et les tables des pages (PT), dont les entrées sont appelés PDE et PTE (E pour Entries). Il y a un seul répertoire des pages et plusieurs tables des pages (1024).
Pourquoi deux niveaux? tout simplement pour pouvoir utiliser toutes les adresses possibles (jusqu'a 4Go de RAM).

explication arithmétique :
Une entrée dans une table des pages (PTE) correspond à une page d'adresse linéaire, qu'il y ait une page en RAM associé ou non. Soit 4ko.
Il y a 1024 entrées dans une table des pages, donc elle couvre 1024*4ko, 4Mo d'adresse linéaire.
Un entrée du répertoire des pages (PDE) renvoie sur une table des pages (PT). Le répertoire des pages contient 1024 entrées il y a donc 1024*4Mo, 4Go d'adresse linéaire.
Ce qui correspond bien au 4Go de RAM adressable avec un processeur 32bits.

Structure des PDE et PTE

Nous avons vu que le répertoire des pages et les tables des pages sont des tableaux de 4ko qui contiennent chacun 1024 entrées de 4 octets : les PDE et les PTE.
La norme Intel spécifie que ces deux types d’entrée ont la mˆeme structure, mis à part pour deux bits. Parmi les éléments importants de leur structure figurent :




page suivante >