mémoire virtuelle

Une définition du Jargon Français.
Aller à : Navigation, rechercher

locution nominale, féminin.  [mémoire]. Type de mémoire que le système d'exploitation (aidé par des composants électroniques) 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 les morceaux de ces derniers (programmes et données) sont stockés ailleurs, généralement sur une mémoire de masse, et des composants spécialisés placent en mémoire vive, à la volée, ce dont le processeur a besoin sur le moment, puis quand la mémoire vive manque stockent sur la mémoire de masse ce qui lui est moins utile sur le moment.

C'est intéressant car 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, toutefois cela réduit les performances puisque la mémoire de masse est plus lente que la mémoire vive.

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 dont le contenu n'est pas dans de la mémoire vive, fige au vol l'exécution de l'instruction concernée, requiert du système d'exploitation qu'il charge dans de la mémoire vive ce qui est nécessaire (donnée ou programme) à partir de la mémoire virtuelle et relance l'exécution. Lorsque la mémoire vive manque le système d'exploitation en libère en écrivant dans de la mémoire virtuelle des morceaux de données ou de programmes depuis longtemps inutilisée. Tout cela est complètement transparent pour les programmes, mais pas pour l'utilisateur car le temps ne s'arrête pas durant ces tours de passe-passe, de sorte que la latence augmente. Si la quantité de mémoire vive est par trop insuffisante le simple fait de devoir ainsi charger quoi que ce soit peut impliquer de décharger autre chose vers la mémoire virtuelle ce qui peut mener à du thrashing.

L'abréviation traditionnelle VM (pour « virtual memory ») est imprécise car est également celle de virtual machine.

Voir aussi banque, swap, virtuel, espace d'adressage.

Att.png Mémoire virtuelle n'a aucune relation directe avec disque virtuel ni avec machine virtuelle