Numérique et Sciences Informatiques > Architecture des Ordinateurs > Systèmes d'Exploitation (OS) > Gestion de la mémoire
Virtualisation de la mémoire
Exploration du concept de mémoire virtuelle, son rôle dans l'exécution des programmes, et sa relation avec la mémoire physique. Inclut des exemples et des analogies pour une compréhension facile.
Introduction à la mémoire virtuelle
La mémoire virtuelle est une technique de gestion de la mémoire qui permet à un programme d'accéder à plus de mémoire que la quantité de RAM physiquement disponible. Chaque programme se voit attribuer un espace d'adressage virtuel, qui est un espace de mémoire logique, indépendant de la mémoire physique réelle.
Imaginez un immeuble avec de nombreux appartements (les programmes). Chaque appartement a une adresse (adresse virtuelle), mais l'immeuble lui-même a une adresse unique (adresse physique de la RAM). La mémoire virtuelle permet à chaque programme de penser qu'il a sa propre mémoire exclusive, même si plusieurs programmes partagent la même RAM.
Le système d'exploitation, avec l'aide de l'unité de gestion de la mémoire (MMU), se charge de traduire les adresses virtuelles en adresses physiques réelles dans la RAM.
Espace d'adressage virtuel
Chaque processus se voit attribuer un espace d'adressage virtuel privé. Cet espace est une plage d'adresses mémoire que le processus peut utiliser. La taille de cet espace est déterminée par l'architecture du processeur (par exemple, 32 bits ou 64 bits).
Dans un système 32 bits, l'espace d'adressage virtuel est de 232 octets (4 Go). Dans un système 64 bits, il est beaucoup plus grand (264 octets), ce qui permet d'adresser des quantités de mémoire bien plus importantes.
Exemple: Un programme 32 bits peut potentiellement utiliser jusqu'à 4 Go de mémoire virtuelle, même si l'ordinateur n'a physiquement que 2 Go de RAM. Le système d'exploitation gère la correspondance entre les adresses virtuelles utilisées par le programme et les adresses physiques réelles de la RAM.
Traduction d'adresses (MMU)
L'unité de gestion de la mémoire (MMU) est un composant matériel qui se charge de traduire les adresses virtuelles générées par le processeur en adresses physiques dans la RAM. Elle utilise une table de correspondance appelée table des pages pour effectuer cette traduction.
La table des pages contient des informations sur chaque page de la mémoire virtuelle, notamment si elle est présente en RAM (valide) ou sur le disque dur (invalidée, présente dans le fichier d'échange). Lorsqu'un programme accède à une adresse virtuelle, la MMU consulte la table des pages pour trouver l'adresse physique correspondante. Si la page n'est pas présente en RAM (défaut de page ou page fault), le système d'exploitation doit la charger depuis le disque dur, ce qui ralentit l'exécution du programme.
Analogie: Imaginez la table des pages comme un index de livre qui indique où se trouve chaque chapitre (page) dans le livre (mémoire virtuelle). Si le chapitre est dans le livre, l'index indique le numéro de page (adresse physique). Si le chapitre n'est pas dans le livre (défaut de page), il faut aller le chercher à la bibliothèque (disque dur).
Avantages de la mémoire virtuelle
La mémoire virtuelle offre plusieurs avantages importants:
Ce qu'il faut retenir
FAQ
-
Pourquoi mon ordinateur est-il lent lorsque j'ai beaucoup de programmes ouverts?
Lorsque vous avez beaucoup de programmes ouverts, ils peuvent utiliser plus de mémoire que la quantité de RAM disponible. Dans ce cas, le système d'exploitation doit utiliser le fichier d'échange sur le disque dur pour stocker temporairement des pages de mémoire. L'accès au disque dur est beaucoup plus lent que l'accès à la RAM, ce qui peut ralentir considérablement l'ordinateur. -
Quelle est la différence entre la mémoire virtuelle et le fichier d'échange?
La mémoire virtuelle est un concept global qui permet à un processus d'accéder à une quantité de mémoire qui peut dépasser la RAM physique. Le fichier d'échange (ou swap) est un espace sur le disque dur qui est utilisé comme extension de la RAM. Lorsque la RAM est pleine, les pages de mémoire les moins utilisées sont déplacées vers le fichier d'échange pour libérer de l'espace en RAM. La mémoire virtuelle utilise le fichier d'échange, mais ce sont deux choses distinctes.