En informatique, les adresses logiques et physiques font référence à la façon dont les emplacements de mémoire sont représentés et accessibles. Ils diffèrent fondamentalement par leur signification et leur utilisation :
Adresse logique (adresse virtuelle) :
* Signification : Une adresse logique est l'adresse utilisée par un programme (ou un processus) pour faire référence à un emplacement mémoire. C'est l'adresse vue par le programme lui-même ; cela est indépendant de l'emplacement physique réel dans la RAM.
* Abstraction : Il fournit une couche d'abstraction :le programme n'a pas besoin de savoir où ses données sont physiquement stockées en mémoire. Ceci est crucial pour le multitâche et la gestion de la mémoire. Plusieurs programmes peuvent utiliser les mêmes adresses logiques sans conflit.
* Géré par : L'unité de gestion de la mémoire (MMU) du système d'exploitation gère la traduction entre les adresses logiques et physiques.
* Exemple : Un programme peut accéder à une variable à l'adresse logique « 0x1000 ». Cela ne signifie pas qu'il se trouve physiquement à cette adresse dans la RAM.
Adresse physique :
* Signification : Une adresse physique est l'adresse réelle dans la RAM physique où les données sont stockées. C'est un identifiant unique pour un emplacement mémoire spécifique.
* Accès direct : C'est l'adresse que le CPU utilise pour accéder directement aux données dans la RAM.
* Niveau matériel : Il s'agit d'un concept au niveau matériel, directement lié aux puces de mémoire physique.
* Exemple : L'adresse physique des données référencées par le programme à l'adresse logique « 0x1000 » peut être « 0x80000 ».
La relation et l'importance de la distinction :
La MMU est le composant clé qui comble le fossé entre les adresses logiques et physiques. Il effectue une traduction d'adresses, en mappant les adresses logiques sur les adresses physiques. Cela permet de :
* Protection de la mémoire : La MMU garantit qu'un processus ne peut pas accéder à l'espace mémoire d'un autre, améliorant ainsi la stabilité et la sécurité du système.
* Partage de mémoire : Les processus peuvent partager des segments de mémoire, mais la MMU garantit que chaque processus accède à son propre espace d'adressage logique, évitant ainsi les conflits.
* Mémoire virtuelle : La MMU active la mémoire virtuelle, où des parties d'un programme peuvent être échangées de manière transparente entre la RAM et le stockage secondaire (comme un disque dur). Le programme utilise toujours des adresses logiques, même si les données se trouvent temporairement sur le disque dur.
* Déménagement : Les programmes peuvent être chargés n'importe où dans la mémoire physique ; la MMU traduit les adresses logiques vers leurs emplacements physiques correspondants.
En résumé :les adresses logiques sont destinées à la commodité et à la sécurité du programme, tandis que les adresses physiques sont les adresses réelles utilisées par le matériel. La MMU gère la traduction entre eux, fournissant une couche cruciale d’abstraction et de fonctionnalités au niveau du système.
|