À retenir
- C'est une adresse « logique » utilisée par les programmes pour simplifier leur accès à la mémoire.
- Elle est traduite en adresse physique par un composant matériel appelé la MMU (Memory Management Unit).
- Elle garantit la sécurité en empêchant un logiciel d'espionner la mémoire d'un voisin.
Une adresse virtuelle est un numéro d'emplacement mémoire utilisé par un logiciel pour stocker ou lire des données, sans qu'il ait besoin de connaître l'emplacement réel dans les composants physiques (la RAM). C'est comme si chaque habitant d'un immeuble recevait un courrier adressé à l'appartement « n°1 », alors qu'en réalité, la Poste (le système) redirige chaque lettre vers des logements physiques différents pour que personne ne se marche sur les pieds.
Étymologie
Le mot « adresse » désigne un emplacement précis, tandis que « virtuelle » vient du latin virtualis, qualifiant quelque chose qui existe en puissance mais pas physiquement. En informatique, ce concept est apparu avec l'invention de la mémoire virtuelle dans les années 1960 pour permettre aux ordinateurs de faire tourner des programmes plus grands que la mémoire vive disponible.
Exemples d'usage
- Sous Windows ou Linux, chaque logiciel croit disposer d'un espace mémoire géant commençant à l'adresse zéro, alors qu'il partage la RAM avec des dizaines d'autres applications.
- Lorsqu'un développeur manipule un
pointeuren langage C, il manipule généralement une adresse virtuelle gérée par le système d'exploitation.
Cas d'usage
Ce concept intervient systématiquement dans le fonctionnement des systèmes d'exploitation modernes (Windows, macOS, Linux, Android). Il permet l'isolation des processus : si un logiciel plante ou tente d'accéder à une adresse interdite, il ne peut pas corrompre la mémoire des autres programmes ou du système.
Bonnes pratiques
Pour les développeurs, il est crucial de comprendre que deux programmes peuvent utiliser la même adresse virtuelle sans pour autant partager les mêmes données. Il faut éviter de supposer qu'une adresse mémoire sera identique d'une exécution à l'autre, notamment à cause de techniques de sécurité comme l'ASLR (mélange aléatoire des adresses pour contrer les piratages).
Synonymes
Antonymes
Conseil
Imaginez l'adresse virtuelle comme un pseudonyme : c'est le nom public que le programme utilise, alors que l'adresse physique est l'identité secrète connue seulement par le processeur et le système d'exploitation.
Questions fréquentes
Pourquoi ne pas utiliser directement les adresses physiques ?
Parce que ce serait le chaos : chaque programme devrait savoir exactement quels composants de RAM sont libres, et un bug dans un logiciel pourrait effacer les données de tout l'ordinateur.
Une adresse virtuelle peut-elle pointer vers le disque dur ?
Oui, si la RAM est pleine, le système peut lier une adresse virtuelle à un espace sur le disque (fichier d'échange ou swap).