Mémoire virtuelle


Définition

La mémoire virtuelle est une fonctionnalité qui permet d’augmenter artificiellement la mémoire vive d’un ordinateur, en transférant temporairement des données vers le disque dur de l’ordinateur. Cette mémoire est perçue par l’application qui l’utilise (par exemple le système d’exploitation) comme de la mémoire vive bien qu’elle soit en réalité stockée sur le disque.

Grâce à cette astuce, l’ordinateur devient capable d’exécuter des programmes dont la taille excède celle de la mémoire vive vraiment disponible sur la machine, en transférant des pages de données qui ne sont pas nécessaires dans l’immédiat. Si les données précédemment transmises ont besoin d’être récupérées, alors d’autres pages de données sont transférées à leur tour pour rapatrier celles dont on a besoin. Ce processus d’échanges permanents entre la mémoire vive et la mémoire de masse du disque dur est nommé « pagination » ou « permutation », et l’espace de stockage sur le disque dur utilisé pour cela est appelé « fichier d’échange » ou « swap».

La mémoire virtuelle repose sur un mécanisme capable de traduire à la volée les adresses virtuelles de mémoire vive telles qu’elles sont vues par l’application, en adresses physiques stockées sur le disque dur. Ce mécanisme de traduction est réalisé en temps réel, sans que l’utilisateur ne s’aperçoive de quoi que ce soit, par le circuit électronique MMU (Memory Management Unit). Intégré au micro-processeur de la machine, le MMU contient par ailleurs la table des pages : c’est-à-dire l’index répertoriant les adresses virtuelles et physiques des pages de données.