La pagination à la demande est une forme de mémoire virtuelle, où une page de mémoire sera paginée si un programme essaie d'y accéder et que la page n'est pas déjà dans la mémoire principale. Par conséquent, la pagination à la demande ne charge que les pages qui doivent être mises en mémoire réelle pendant le processus d'exécution, elle n'a pas besoin d'échanger toute la mémoire pour un processus de la mémoire secondaire à la mémoire principale lors du démarrage du programme.
L'avantage de ce processus est que seules les pages nécessaires au processus d'exécution sont chargées, il y a donc plus d'espace dans la mémoire principale et donc plus de processus peuvent être chargés, ce qui réduit le temps de changement de contexte, qui utilise normalement une grande quantité de ressources mémoire. Cependant, la pagination à la demande signifie que les programmes peuvent faire face à une latence supplémentaire lorsqu'ils tentent d'accéder à une page pour la première fois, ce processus peut également être vulnérable à d'éventuels risques de sécurité tels que les attaques de synchronisation.
Processus de pagination à la demande ;
1.Le programme tente de trouver une page.
2.Si la page se trouve dans la mémoire principale, le programme s'exécute normalement.
3.Si la page ne peut pas être localisée, ce que l'on appelle une interruption de défaut de page se produit.
4.Ensuite, la référence de mémoire est vérifiée pour déterminer qu'il s'agit d'une référence valide à un emplacement sur la mémoire secondaire, si c'est le cas, la page devra être paginée.
5.La page souhaitée est programmée pour être lue dans la mémoire principale.
6.Cette opération est redémarrée au point avant que l'interruption de défaut de page ne se produise. (Étapes 1 et 2).
7.Le programme peut maintenant accéder à la page souhaitée dans la mémoire principale.