La mémoire virtuelle est une technique de gestion de la mémoire qui fournit une couche d'abstraction entre la vue de la mémoire de l'application et la RAM physique disponible sur un ordinateur. Cela crée l’illusion d’un espace d’adressage plus grand que la quantité réelle de RAM physique présente. Ceci est réalisé en utilisant une combinaison de RAM et de stockage secondaire (comme un disque dur ou un SSD) pour stocker les données et les instructions du programme.
Voici un aperçu de ses principaux aspects :
* Espace d'adressage plus grand : Les applications pensent avoir accès à un bloc de mémoire contigu beaucoup plus important que celui physiquement disponible. Cela permet d'exécuter des programmes plus volumineux que ceux qui pourraient autrement tenir dans la RAM.
* Échange (pagination) : Seules les parties activement utilisées de la mémoire d'un programme sont chargées dans la RAM. Les pièces inactives résident sur le stockage secondaire. Lorsqu'une partie inactive est nécessaire, elle est échangée dans la RAM (une page est importée) et une partie moins récemment utilisée peut être remplacée (paginée) pour libérer de l'espace. Cet échange est géré par le système d'exploitation.
* Recherche de radiomessagerie : Les pages ne sont chargées dans la RAM que lorsqu'elles sont réellement nécessaires (à la demande), plutôt qu'en même temps. Cela améliore l'efficacité en utilisant uniquement la RAM pour les parties actives d'un programme.
* Tableau des pages : Le système d'exploitation gère une table de pages qui mappe les adresses virtuelles (utilisées par le programme) aux adresses physiques (dans la RAM). Ce tableau est crucial pour traduire les demandes de mémoire du programme vers l'emplacement correct dans la mémoire physique ou sur le stockage secondaire.
* Avantages :
* Exécuter des programmes plus volumineux : Permet l'exécution de programmes qui dépassent la RAM disponible.
* Protection de la mémoire : Les processus sont isolés les uns des autres espaces mémoire, empêchant l'un d'en corrompre accidentellement un autre.
* Utilisation efficace de la mémoire : La RAM est utilisée plus efficacement en chargeant uniquement les parties nécessaires des programmes.
* Inconvénients :
* Surcharge de performances : L'échange de pages entre la RAM et le stockage secondaire peut être plus lent que l'accès direct à la RAM, entraînant une dégradation des performances (battement si excessif).
* Complexité : La gestion de la mémoire virtuelle est complexe et nécessite des mécanismes de système d'exploitation sophistiqués.
Essentiellement, la mémoire virtuelle donne l’impression qu’un ordinateur dispose de plus de RAM qu’il n’en a réellement, ce qui permet une gestion efficace et flexible de la mémoire. C'est un composant fondamental des systèmes d'exploitation modernes.
|