Virtual memory est le nom donné à la plage d’adresses contiguës utilisée par un programme informatique. Pour qu’un programme s’exécute, ses instructions doivent résider dans la mémoire physique. Cependant, lorsqu’il y a plusieurs programmes exécutés simultanément ou lorsqu’il n’y a pas assez de mémoire physique pour englober la quantité de mémoire nécessaire à un programme, l’ordinateur utilise la mémoire virtuelle pour répondre aux besoins du programme. **

Par exemple, si deux programmes s’exécutent en même temps, chaque programme traite la mémoire comme s’il s’agissait d’un gros bloc contigu commençant à l’adresse zéro et s’étendant autant que nécessaire. Étant donné que chaque programme ne peut pas accéder simultanément à la mémoire à l’adresse physique zéro, l’ordinateur crée des blocs (plages d’adresses) de mémoire virtuelle qui donnent l’impression à chaque programme qu’il possède toute la mémoire de l’ordinateur pour lui-même.

La mémoire virtuelle est également utilisée lorsque les programmes ont besoin de plus de mémoire qu’il n’en existe physiquement sur l’ordinateur. L’ordinateur utilise un processus appelé paging pour permettre aux programmes d’accéder à plus de mémoire qu’il n’en existe physiquement.

Grâce à la pagination, l’ordinateur garde la trace des blocs de mémoire physique actuellement disponibles, écrit le contenu de ces blocs sur le disque, puis lit à partir du disque les données précédemment écrites dont le programme en cours d’exécution a besoin. En utilisant le disque comme support de stockage temporaire, de nombreux programmes différents peuvent être exécutés en même temps et accéder à de grandes portions de mémoire sans jamais avoir à se soucier de savoir si les données sont physiquement en mémoire à ce moment ou doivent être paginées à partir de disque.

Cette astuce (12623) s’applique à Windows 7, 8 et 10.