Comme nous l'avons vu dans les généralités,
la mémoire virtuelle, qui est l'ensemble des adresses théoriquement
accessibles à une application (et qui dépendent du nombre
de bits sur lesquelles elles sont représentées), est organisée
selon deux principes différents :
la segmentation.
Un segment est un ensemble de cellules (octets) de mémoire contiguës dont la taille peut varier de 1 à 232 (4 Giga) octets.
Un segment est caractérisé par son adresse de base (appelée plus simplement la base) et sa limite qui représente sa taille.
De plus, à chaque segment est associé un droit d'accès (1 octet), qui regroupe différentes caractéristiques du segment et que nous étudierons ultérieurement.
la pagination.
Une page est un ensemble de 4 Ko consécutifs.
Les segments de code ou de données sont alors découpés en structures de taille fixe relativement réduite, ce qui a pour avantages de permettre des chargements-déchargements plus rapides entre les mémoires primaire et secondaire (disque dur en général), de permettre le stockage d'un segment dans des espaces de mémoire physique non obligatoirement contigus.
Ainsi, non seulement un segment peut être stocké en mémoire principale même s'il n'existe pas suffisamment d'espace à des adresses consécutives, mais il peut même n'être que partiellement stocké.
L'activation du mécanisme de pagination se fait au lancement du système d'exploitation.
Le bit 31 (bit PG) du registre interne CR0
du microprocesseur est alors positionné.