mémoire virtuelle

Une définition du Jargon Français.

locution nominale, féminin.  [mémoire]. Type de mémoire que l'on fait prendre au CPU pour de la vraie bonne mémoire vive, la seule dans laquelle il peut exécuter des programmes et bricoler des données, alors qu'en fait ces derniers sont stockés ailleurs, généralement sur une mémoire de masse (souvent un disque dur, parfois un système de fichiers), et placés en mémoire vive lorsque le processeur en a besoin.

Une quantité donnée de mémoire sous forme de composants de mémoire vive coûte beaucoup plus cher que la mémoire de masse équivalente. La mémoire virtuelle offre donc moyen d'étendre à bon compte la quantité de mémoire centrale donc, par exemple, la taille maximale des données simultanément traitées, mais en dégradant les performances.

En pratique le CPU est trompé par l'environnement : la MMU détecte chacune de ses tentatives d'accès à une zone de mémoire centrale auquel aucun composant électronique de mémoire vive n'est associé, fige au vol l'exécution de l'instruction concernée, requiert du système d'exploitation qu'il charge ce qui est nécessaire à partir de la mémoire virtuelle et relance l'exécution. Tout cela est complètement transparent pour le programme concerné, mais pas pour l'utilisateur car le temps ne s'arrête pas durant ces tours de passe-passe, de sorte que les performances se dégradent. Si la quantité de mémoire vive est trop insuffisante le simple fait de devoir ainsi charger quelque chose peut impliquer de décharger autre chose (de la mémoire vive vers la mémoire virtuelle, afin de ménager de l'espace dans la première), ce qui peut mener au thrashing.

L'abréviation VM est imprécise.

Voir aussi swap, virtuel, espace d'adressage.

Image:Att.pngMémoire virtuelle n'entretient aucune relation directe avec disque virtuel