Recommandé, 2024

Choix De L'Éditeur

Différence entre mémoire virtuelle et mémoire cache dans le système d'exploitation

La mémoire est un périphérique matériel utilisé pour stocker les informations de manière temporaire ou permanente. Dans cet article, j'ai présenté les différences entre la mémoire virtuelle et la mémoire cache. Une mémoire cache est une mémoire haute vitesse utilisée pour réduire le temps d'accès aux données. D'autre part, la mémoire virtuelle n'est pas exactement une mémoire physique, c'est une technique qui étend la capacité de la mémoire principale au-delà de sa limite.

La principale différence entre la mémoire virtuelle et la mémoire cache réside dans le fait qu’une mémoire virtuelle permet à un utilisateur d’exécuter des programmes plus volumineux que la mémoire principale, tandis que la mémoire cache permet un accès plus rapide aux données récemment utilisées. Nous discuterons d’autres différences à l’aide du tableau comparatif présenté ci-dessous.

Tableau de comparaison

Base de comparaisonMémoire virtuelleMémoire en cache
De baseLa mémoire virtuelle étend la capacité de la mémoire principale pour l'utilisateur.La mémoire cache accélère la vitesse d'accès aux données de la CPU.
La natureLa mémoire virtuelle est technique.La mémoire cache est une unité de stockage.
Une fonctionLa mémoire virtuelle permet l'exécution d'un programme plus volumineux que la mémoire principale.La mémoire cache stocke les copies des données originales récemment utilisées.
Gestion de la mémoireLa mémoire virtuelle est gérée par le système d'exploitation.La mémoire cache est entièrement gérée par le matériel.
TailleLa mémoire virtuelle est beaucoup plus grande que la mémoire en cache.La mémoire cache a une taille limitée.
CartographieLa mémoire virtuelle nécessite des structures de mappage pour mapper une adresse virtuelle à une adresse physique.Aucune structure de mappage n'est requise en tant que telle dans une mémoire cache.

Définition de la mémoire virtuelle

La mémoire virtuelle n’est pas exactement la mémoire physique d’un ordinateur, c’est une technique qui permet l’exécution d’un programme volumineux qui peut ne pas être placé complètement dans la mémoire principale . Il permet au programmeur d'exécuter des programmes plus volumineux que la mémoire principale.

Voyons maintenant comment fonctionne la mémoire virtuelle. Le programme a son adresse de mémoire virtuelle qui est divisée en un certain nombre de pages . La mémoire principale est également divisée en plusieurs pages . Comme vous pouvez le constater, l'adresse virtuelle d'un programme est plus grande que la mémoire principale disponible. Ainsi, la carte mémoire est utilisée pour mapper l'adresse virtuelle sur la mémoire principale.

La page 0, 1, 2 est mappée dans la mémoire principale et celle-ci se remplit. Maintenant, quand la page 3 de la mémoire virtuelle demande de l'espace dans la mémoire principale, la page la plus ancienne placée, c'est-à-dire la page 0, est transférée sur le disque dur et évacue l'emplacement de la page 3, dans la mémoire principale et le processus continue. Si la page 0 est à nouveau nécessaire, la page la plus ancienne placée à ce moment-là est transférée sur le disque dur, ce qui remplace l'emplacement de la page 0.

Si les deux programmes ont besoin des mêmes données et sont placés dans la mémoire principale, l'unité de mappage de mémoire permet aux deux programmes de partager le même espace adresse dans la mémoire principale où les données partagées sont stockées. Cela facilite le partage de fichiers.

Les avantages de la mémoire virtuelle sont les suivants:

  • Les programmes ne sont plus contraints par la limite de la mémoire principale.
  • La mémoire virtuelle augmente le degré de multiprogrammation.
  • Augmente l'utilisation du processeur.
  • Le moins d'E / S nécessitera pour charger ou échanger des programmes dans la mémoire.

La mémoire virtuelle présente toutefois un inconvénient: le fait de placer plus de pages d'un programme sur le disque dur ralentira les performances, car l'accès aux données à partir du disque dur prend plus de temps que l'accès aux données à partir de la mémoire principale.

Définition de la mémoire cache

Contrairement à la mémoire virtuelle, le cache est un périphérique de stockage implémenté sur le processeur lui-même. Il contient les copies des données originales qui ont été consultées récemment. Les données d'origine peuvent être placées dans la mémoire principale ou dans une mémoire secondaire. La mémoire cache accélère la vitesse d'accès aux données, mais comment? Comprenons.

On peut dire que la vitesse d'accès de la CPU est limitée à la vitesse d'accès de la mémoire principale . Lorsqu'un programme doit être exécuté par le processeur, celui-ci le récupère dans la mémoire principale. Si une copie du programme est déjà présente dans le cache implémenté sur le processeur. Le processus pourrait accéder à ces données plus rapidement, ce qui entraînerait une exécution plus rapide.

Différences clés entre mémoire virtuelle et mémoire cache

  1. La mémoire virtuelle étend virtuellement la capacité de la mémoire principale pour l'utilisateur. Cependant, la mémoire cache accélère l’accès aux données pour le processeur.
  2. Le cache est une unité de mémoire alors que la mémoire virtuelle est une technique .
  3. La mémoire virtuelle active les exécutions du programme plus volumineuses que la mémoire principale. La mémoire cache stocke les copies des données originales utilisées récemment.
  4. La gestion de la mémoire virtuelle est effectuée par le système d'exploitation . D'autre part, la gestion de la mémoire cache est effectuée par le matériel .
  5. La mémoire virtuelle est beaucoup plus grande que la mémoire cache.
  6. La technique de mémoire virtuelle nécessite que les structures de mappage mappent une adresse virtuelle à une adresse physique, tandis que la mémoire cache ne nécessite aucune structure de mappage.

Conclusion:

La mémoire virtuelle est une technique permettant d'étendre virtuellement la capacité de la mémoire principale pour les utilisateurs. La mémoire cache est une unité de stockage qui stocke les données récemment consultées, ce qui permet à la CPU d'y accéder plus rapidement.

Top