Mémoire virtuelle dans le système d'exploitation: qu'est-ce que, pagination à la demande, avantages

Table des matières:

Anonim

Qu'est-ce que la mémoire virtuelle?

La mémoire virtuelle est un mécanisme de stockage qui offre à l'utilisateur l'illusion d'avoir une très grande mémoire principale. Cela se fait en traitant une partie de la mémoire secondaire comme la mémoire principale. Dans la mémoire virtuelle, l'utilisateur peut stocker des processus avec une taille plus grande que la mémoire principale disponible.

Par conséquent, au lieu de charger un long processus dans la mémoire principale, le système d'exploitation charge les différentes parties de plusieurs processus dans la mémoire principale. La mémoire virtuelle est principalement implémentée avec la pagination de la demande et la segmentation de la demande.

Dans ce didacticiel sur le système d'exploitation, vous apprendrez:

  • Qu'est-ce que la mémoire virtuelle?
  • Comment fonctionne la mémoire virtuelle?
  • Qu'est-ce que la pagination à la demande?
  • Types de méthodes de remplacement de page
  • Remplacement de la page FIFO
  • Algorithme optimal
  • Remplacement de la page LRU
  • Avantages de la mémoire virtuelle
  • Inconvénients de la mémoire virtuelle

Pourquoi avoir besoin de mémoire virtuelle?

Voici les raisons d'utiliser la mémoire virtuelle:

  • Chaque fois que votre ordinateur n'a pas d'espace dans la mémoire physique, il écrit ce dont il a besoin sur le disque dur dans un fichier d'échange en tant que mémoire virtuelle.
  • Si un ordinateur exécutant Windows a besoin de plus de mémoire / RAM, puis installé dans le système, il utilise une petite partie du disque dur à cette fin.

Comment fonctionne la mémoire virtuelle?

Dans le monde moderne, la mémoire virtuelle est devenue assez courante de nos jours. Il est utilisé chaque fois que certaines pages doivent être chargées dans la mémoire principale pour l'exécution et que la mémoire n'est pas disponible pour ces nombreuses pages.

Ainsi, dans ce cas, au lieu d'empêcher les pages d'entrer dans la mémoire principale, le système d'exploitation recherche l'espace RAM qui est le minimum utilisé ces derniers temps ou qui n'est pas référencé dans la mémoire secondaire pour faire de l'espace pour les nouvelles pages dans la mémoire principale.

Comprenons la gestion de la mémoire virtuelle à l'aide d'un exemple.

Par exemple:

Supposons qu'un système d'exploitation nécessite 300 Mo de mémoire pour stocker tous les programmes en cours d'exécution. Cependant, il n'y a actuellement que 50 Mo de mémoire physique disponible stockés sur la RAM.

  • Le système d'exploitation installera ensuite 250 Mo de mémoire virtuelle et utilisera un programme appelé Virtual Memory Manager (VMM) pour gérer ces 250 Mo.
  • Ainsi, dans ce cas, le VMM créera un fichier sur le disque dur d'une taille de 250 Mo pour stocker la mémoire supplémentaire requise.
  • Le système d'exploitation va maintenant passer à la mémoire d'adressage car il considère 300 Mo de mémoire réelle stockée dans la RAM, même si seulement 50 Mo d'espace sont disponibles.
  • C'est le travail du VMM de gérer 300 Mo de mémoire même si seulement 50 Mo d'espace mémoire réel sont disponibles.

Qu'est-ce que la pagination à la demande?

Un mécanisme de pagination à la demande est très similaire à un système de pagination avec permutation où les processus stockés dans la mémoire secondaire et les pages sont chargées uniquement à la demande, pas à l'avance.

Ainsi, lorsqu'un changement de contexte se produit, le système d'exploitation ne copie jamais aucune des pages de l'ancien programme du disque ou l'une des pages du nouveau programme dans la mémoire principale. Au lieu de cela, il commencera à exécuter le nouveau programme après le chargement de la première page et récupérera les pages du programme, qui sont référencées.

Pendant l'exécution du programme, si le programme fait référence à une page qui peut ne pas être disponible dans la mémoire principale parce qu'elle a été permutée, le processeur la considère comme une référence mémoire non valide. C'est parce que l'erreur de page et les transferts renvoient le contrôle du programme au système d'exploitation, ce qui demande de stocker la page dans la mémoire.

Types de méthodes de remplacement de page

Voici quelques méthodes de remplacement de page importantes

  • FIFO
  • Algorithme optimal
  • Remplacement de la page LRU

Remplacement de la page FIFO

FIFO (First-in-first-out) est une méthode de mise en œuvre simple. Dans cette méthode, la mémoire sélectionne la page pour un remplacement qui se trouve dans l'adresse virtuelle de la mémoire depuis le plus longtemps.

Caractéristiques:

  • Chaque fois qu'une nouvelle page est chargée, la page qui vient récemment de mémoire est supprimée. Ainsi, il est facile de décider quelle page doit être supprimée car son numéro d'identification se trouve toujours dans la pile FIFO.
  • La page la plus ancienne de la mémoire principale doit être sélectionnée en premier pour être remplacée.

Algorithme optimal

La méthode de remplacement de page optimale sélectionne cette page pour un remplacement pour lequel le délai avant la référence suivante est le plus long.

Caractéristiques:

  • L'algorithme optimal entraîne le moins de défauts de page. Cet algorithme est difficile à mettre en œuvre.
  • Une méthode d'algorithme de remplacement de page optimale a le taux d'erreur de page le plus bas de tous les algorithmes. Cet algorithme existe et qui doit s'appeler MIN ou OPT.
  • Remplacez la page qui ne ressemble pas à une utilisation plus longue. Il n'utilise que l'heure à laquelle une page doit être utilisée.

Remplacement de la page LRU

La forme complète de LRU est la page la moins récemment utilisée. Cette méthode aide le système d'exploitation à trouver l'utilisation de la page sur une courte période de temps. Cet algorithme doit être implémenté en associant un compteur à une page paire.

Comment ça marche?

  • La page, qui n'a pas été utilisée depuis le plus longtemps dans la mémoire principale, est celle qui sera sélectionnée pour le remplacement.
  • Facile à mettre en œuvre, gardez une liste, remplacez les pages en remontant le temps.

Caractéristiques:

  • La méthode de remplacement LRU a le nombre le plus élevé. Ce compteur est également appelé registres de vieillissement, qui spécifient leur âge et dans quelle mesure leurs pages associées doivent également être référencées.
  • La page qui n'a pas été utilisée depuis le plus longtemps dans la mémoire principale est celle qui doit être sélectionnée pour le remplacement.
  • Il tient également une liste et remplace les pages en remontant le temps.

Taux de défaut

Le taux de défaillance est une fréquence à laquelle un système ou un composant conçu échoue. Il est exprimé en échecs par unité de temps. Il est désigné par la lettre grecque λ (lambda).

Avantages de la mémoire virtuelle

Voici les avantages / avantages de l'utilisation de la mémoire virtuelle:

  • La mémoire virtuelle permet de gagner en vitesse lorsqu'un seul segment particulier du programme est requis pour l'exécution du programme.
  • Il est très utile dans la mise en œuvre d'un environnement de multiprogrammation.
  • Il vous permet d'exécuter plusieurs applications à la fois.
  • Il vous aide à intégrer de nombreux grands programmes dans des programmes plus petits.
  • Des données ou un code communs peuvent être partagés entre la mémoire.
  • Le processus peut devenir encore plus volumineux que toute la mémoire physique.
  • Les données / codes doivent être lus à partir du disque chaque fois que nécessaire.
  • Le code peut être placé n'importe où dans la mémoire physique sans nécessiter de déplacement.
  • Davantage de processus doivent être conservés dans la mémoire principale, ce qui augmente l'utilisation efficace du processeur.
  • Chaque page est stockée sur un disque jusqu'à ce qu'elle soit requise après cela, elle sera supprimée.
  • Il permet d'exécuter plusieurs applications en même temps.
  • Il n'y a pas de limite spécifique sur le degré de multiprogrammation.
  • Les grands programmes doivent être écrits, car l'espace d'adressage virtuel disponible est plus important que la mémoire physique.

Inconvénients de la mémoire virtuelle

Voici les inconvénients / inconvénients de l'utilisation de la mémoire virtuelle:

  • Les applications peuvent s'exécuter plus lentement si le système utilise la mémoire virtuelle.
  • Il faut probablement plus de temps pour basculer entre les applications.
  • Offre moins d'espace sur le disque dur pour votre utilisation.
  • Cela réduit la stabilité du système.
  • Il permet aux applications plus volumineuses de s'exécuter dans des systèmes qui n'offrent pas suffisamment de RAM physique pour les exécuter.
  • Il n'offre pas les mêmes performances que la RAM.
  • Cela affecte négativement les performances globales d'un système.
  • Occupez l'espace de stockage, qui peut être utilisé autrement pour le stockage de données à long terme.

Résumé:

  • La mémoire virtuelle est un mécanisme de stockage qui offre à l'utilisateur l'illusion d'avoir une très grande mémoire principale.
  • La mémoire virtuelle est nécessaire chaque fois que votre ordinateur n'a pas d'espace dans la mémoire physique
  • Un mécanisme de pagination à la demande est très similaire à un système de pagination avec permutation où les processus stockés dans la mémoire secondaire et les pages sont chargées uniquement à la demande, pas à l'avance.
  • Les méthodes importantes de remplacement de page sont 1) FIFO 2) Algorithme optimal 3) Remplacement de page LRU.
  • Dans la méthode FIFO (First-in-first-out), la mémoire sélectionne la page pour un remplacement qui est dans l'adresse virtuelle de la mémoire depuis le plus longtemps.
  • La méthode de remplacement de page optimale sélectionne cette page pour un remplacement pour lequel le délai avant la référence suivante est le plus long.
  • La méthode LRU aide le système d'exploitation à trouver l'utilisation de la page sur une courte période de temps.
  • La mémoire virtuelle permet de gagner en vitesse lorsqu'un seul segment particulier du programme est requis pour l'exécution du programme.
  • Les applications peuvent s'exécuter plus lentement si le système utilise la mémoire virtuelle.