Elle n'augmente pas physique mémoire du tout. Son but est tout autre. Ce qu'il peut faire, c'est mettre à disposition d'autres magasins de sauvegarde qui permettent aux programmes d'utiliser plus de mémoire que celle qui est physiquement disponible.
La mémoire virtuelle est utilisée pour séparer et isoler les processus les uns des autres et permet également de détourner l'accès à la mémoire vers d'autres emplacements.
La mémoire virtuelle permet au système de donner à chaque processus son propre espace mémoire isolé des autres processus. Les programmes fonctionnant effectivement dans leur propre espace, ils ont un accès complet à l'ensemble de l'espace d'adressage plutôt que de devoir contourner d'autres programmes qui pourraient également avoir besoin d'utiliser les "mêmes" adresses. Cela a pour effet secondaire d'augmenter la fiabilité et la sécurité, car les processus ne peuvent pas facilement interférer les uns avec les autres.
L'espace mémoire virtuel d'une application est constitué en fonction des besoins. Une application semble (pour elle-même) se trouver dans un seul bloc de mémoire contigu mais peut en réalité être complètement dispersée dans la mémoire physique.
La mémoire virtuelle permet également de piéger et de détourner les accès à la mémoire, ce qui nous permet d'utiliser des fonctions telles que le fichier d'échange. Cela signifie que nous pouvons pousser des parties de la mémoire qui n'ont pas été utilisées récemment vers le disque et mettre en place un pointeur qui dit "ce bloc de mémoire est dans le fichier x à l'emplacement y" et ensuite nous pouvons libérer la zone de mémoire physique pour une utilisation par une autre application. Lorsqu'une application a besoin de cette mémoire, elle peut être relue depuis le disque, placée à un certain emplacement de la RAM physique (potentiellement différent de celui où elle se trouvait auparavant) et réaffectée au même emplacement de la mémoire virtuelle que celui où elle se trouvait précédemment.
De la même manière que le fichier de page est utilisé, la mémoire virtuelle peut également permettre au système d'exploitation d'effectuer ce qui est effectivement un chargement "paresseux" des bibliothèques partagées pour un programme. Lorsque le programme principal indique au système d'exploitation qu'il veut utiliser une bibliothèque particulière, le système d'exploitation peut gagner du temps en vérifiant les exigences de la bibliothèque, en allouant l'espace dans la zone de mémoire virtuelle pour l'application, mais plutôt que de charger la bibliothèque entière, il peut reporter le chargement des pages de la bibliothèque depuis le disque jusqu'à ce qu'elles soient réellement nécessaires. De cette façon, les seules parties de la bibliothèque qui sont chargées dans la RAM sont celles qui sont effectivement utilisées par le programme. Les parties qui ne sont jamais utilisées ne sont jamais chargées et ne gaspillent donc pas de RAM.
Grâce à ces techniques, nous améliorons la stabilité du système et permettons à davantage de processus de fonctionner dans un espace restreint sans qu'ils ne s'influencent indûment les uns les autres. Cela n'augmente pas la mémoire, mais nous permet d'utiliser plus efficacement ce dont nous disposons.
Le fichier d'échange est activé par les systèmes de mémoire virtuelle, mais dans le passé, il était confondu avec le fichier d'échange. être la mémoire virtuelle.