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

⚡ Résumé intelligent

La mémoire virtuelle est un mécanisme de stockage qui donne l'illusion d'une grande mémoire vive en traitant une partie du stockage secondaire comme de la RAM. Elle permet l'exécution de processus plus gourmands en ressources que la mémoire physique et repose sur la pagination à la demande.

  • 🧠 Définition: La mémoire virtuelle utilise une partie du stockage secondaire comme mémoire principale pour exécuter des processus plus importants.
  • (I.e. Pourquoi nécessaire : Il fournit de la mémoire supplémentaire lorsque la RAM physique est insuffisante, en utilisant un fichier d'échange sur le disque.
  • (I.e. Pagination à la demande : Les pages ne sont chargées depuis le disque vers la RAM que lorsqu'elles sont effectivement référencées.
  • (I.e. Remplacement de page : Les algorithmes FIFO, Optimal et LRU déterminent quelle page supprimer en cas de défaut de page.
  • ✅ Avantage: Prend en charge la multiprogrammation et permet aux programmes de dépasser la taille de la mémoire physique.
  • ⚠️ Inconvénient: Elle est plus lente que la RAM et peut réduire les performances globales du système.

Mémoire virtuelle dans le système d'exploitation

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

Mémoire virtuelle La mémoire virtuelle est un mécanisme de stockage qui donne à l'utilisateur l'illusion d'une mémoire principale très importante. Elle fonctionne en utilisant une partie de la mémoire secondaire comme mémoire principale. Grâce à la mémoire virtuelle, l'utilisateur peut stocker des processus dont la taille dépasse celle de 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 et la segmentation de la demande.

Pourquoi avoir besoin de mémoire virtuelle ?

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

  • Lorsque votre ordinateur manque d'espace dans la mémoire physique, il écrit sur le disque dur, dans un fichier d'échange, les données dont il a besoin, sous forme de mémoire virtuelle.
  • Si un ordinateur exécutant Windows Ce système nécessite plus de mémoire vive (RAM) que celle installée, et utilise donc une petite partie du disque dur à cet effet.

Comment fonctionne la mémoire virtuelle ?

De nos jours, la mémoire virtuelle est devenue très courante. Elle est utilisée lorsque certaines pages doivent être chargées en mémoire vive pour l'exécution, et que cette dernière ne dispose pas de suffisamment de mémoire pour un si grand nombre de pages.

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 a été peu utilisé récemment, ou qui n'est pas référencé, et le déplace dans la mémoire secondaire pour libérer de l'espace pour les nouvelles pages dans la mémoire principale.

Comprenons-nous 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. Or, actuellement, seuls 50 Mo de mémoire physique sont disponibles sur la RAM.

  • Le système d'exploitation va alors configurer 250 Mo de mémoire virtuelle et utiliser un programme appelé Gestionnaire de mémoire virtuelle (VMM) pour gérer ces 250 Mo.
  • Dans ce cas, le VMM créera un fichier de 250 Mo sur le disque dur pour stocker la mémoire supplémentaire nécessaire.
  • Le système d'exploitation va maintenant procéder à l'adressage de la mémoire comme s'il considérait 300 Mo de mémoire réelle stockée dans la RAM, même si seulement 50 Mo d'espace sont disponibles.
  • Le VMM a pour tâche 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 radiomessagerie à la demande ?

Radiomessagerie à la demande

Un mécanisme de radiomessagerie à la demande est très similaire à un Système de pagination avec échangeping, où les processus sont stockés dans la mémoire secondaire et les pages ne sont chargées qu'à la demande, et non à l'avance.

Ainsi, lors d'un changement de contexte, le système d'exploitation ne copie jamais les pages de l'ancien programme depuis le disque ni celles du nouveau programme en mémoire vive. Au lieu de cela, il commence à exécuter le nouveau programme après le chargement de la première page et récupère les pages référencées.

Lors de l'exécution d'un programme, si celui-ci fait référence à une page mémoire potentiellement indisponible car déplacée vers la mémoire d'échange (swap), le processeur considère cette référence comme invalide. En effet, le défaut de page transfère le contrôle du programme au système d'exploitation, qui exige alors que la page soit de nouveau chargée en mémoire.

Types de méthodes de remplacement de page

Voici quelques méthodes importantes de remplacement de pages :

  • FIFO
  • Algorithme optimal
  • Remplacement des pages LRU

Remplacement des pages 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 de remplacement qui se trouve dans l'adresse virtuelle de la mémoire depuis le plus longtemps.

Fonctionnalité

  • Lorsqu'une nouvelle page est chargée, la page restée le plus longtemps en mémoire est supprimée. Il est donc facile de déterminer quelle page supprimer, car son numéro d'identification se trouve toujours en tête de la pile FIFO.
  • La page la plus ancienne en mémoire principale est celle qui doit être sélectionnée en premier pour être remplacée.

Algorithme optimal

La méthode optimale de remplacement de page sélectionne la page pour un remplacement pour laquelle le temps jusqu'à la référence suivante est le plus long.

Fonctionnalité

  • L'algorithme optimal génère le moins de défauts de page. Cet algorithme est difficile à implémenter.
  • L'algorithme de remplacement de pages optimal présente le taux de défauts de page le plus faible de tous les algorithmes. Cet algorithme existe et devrait être appelé MIN ou OPT.
  • Remplacez la page qui risque de ne pas être utilisée pendant une période prolongée. Elle n'est utilisée que lorsque la page est nécessaire.

Remplacement des pages LRU

L'acronyme LRU signifie « Least Recently Used page » (page la moins récemment utilisée). Cette méthode permet au système d'exploitation de déterminer l'utilisation des pages sur une courte période. Cet algorithme doit être implémenté en associant un compteur à chaque page.

Un service innovant

  • La page qui n'a pas été utilisée depuis le plus longtemps dans la mémoire principale sera sélectionnée pour être remplacée.
  • Facile à mettre en œuvre, tenir une liste, remplacer les pages en remontant dans le temps.

Fonctionnalité

  • La méthode de remplacement LRU possède le compteur le plus élevé. Ce compteur, également appelé registre d'ancienneté, indique l'âge des pages et la fréquence à laquelle elles doivent ê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 être remplacée.
  • Il conserve également une liste et remplace les pages en remontant dans le temps.

Taux de défauts

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

Avantages de la mémoire virtuelle

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

  • La mémoire virtuelle permet de gagner en vitesse lorsque seul un segment particulier du programme est requis pour l'exécution du programme.
  • Il est très utile pour mettre en œuvre 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 du code communs peuvent être partagés entre la mémoire.
  • Un processus peut même devenir plus volumineux que toute la mémoire physique.
  • Les données/le code doivent être lus à partir du disque chaque fois que cela est nécessaire.
  • Le code peut être placé n'importe où dans la mémoire physique sans nécessiter de déplacement.
  • Un plus grand nombre 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 nécessaire, après quoi elle sera supprimée.
  • Cela permet d’exécuter plusieurs applications en même temps.
  • Il n'y a pas de limite spécifique au degré de multiprogrammation.
  • Il convient d'écrire des programmes de grande taille, 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 liés à l'utilisation de la mémoire virtuelle :

  • Les applications peuvent s'exécuter plus lentement si le système utilise de la mémoire virtuelle.
  • Passer d'une application à l'autre prend probablement plus de temps.
  • Il offre moins d'espace disque disponible pour votre utilisation.
  • Cela réduit la stabilité du système.
  • Cela permet à des applications plus volumineuses de s'exécuter sur des systèmes qui ne disposent pas de suffisamment de mémoire vive physique pour les faire fonctionner.
  • Elle n'offre pas les mêmes performances que la RAM.
  • Cela affecte négativement les performances globales d’un système.
  • Il occupe un espace de stockage qui pourrait autrement être utilisé pour le stockage de données à long terme.

FAQ

Une erreur de page se produit lorsqu'un programme accède à une page qui n'est pas présente en mémoire vive. Le système d'exploitation suspend alors l'exécution du programme, charge la page requise sur le disque et la place dans la mémoire vive, met à jour la table des pages, puis reprend l'exécution.

Le phénomène de « thrashing » se produit lorsque le système passe plus de temps à effectuer des échanges.ping Le nombre de pages échangées entre la RAM et le disque est supérieur à celui des processus en cours d'exécution. Ce problème est dû à un niveau trop élevé de multiprogrammation et dégrade fortement les performances. Réduire le nombre de processus actifs ou augmenter la RAM peut améliorer la situation.

La RAM est un composant matériel physique rapide où sont stockées les données actives. La mémoire virtuelle est une technique qui étend la RAM en utilisant l'espace disque comme s'il s'agissait de mémoire. La mémoire virtuelle est beaucoup plus volumineuse, mais bien plus lente que la RAM physique.

L'IA peut apprendre les schémas d'accès à la mémoire d'un programme et prédire quelles pages seront bientôt nécessaires. Cela permet au système d'exploitation de conserver les pages utiles en RAM et de libérer les pages inutiles, se rapprochant ainsi de l'algorithme optimal idéal et réduisant les défauts de page.

Oui. En analysant les séquences d'accès précédentes, les modèles d'IA peuvent précharger les pages avant même qu'elles ne soient demandées et optimiser la fréquence des échanges de pages. Cela réduit les défauts de page et le thrashing, même s'il est essentiel de limiter les erreurs de prédiction et la surcharge.

Résumez cet article avec :