logo

Qu’est-ce que le Thrash ?

En informatique, débattre est la mauvaise performance d'un système de mémoire virtuelle (ou de pagination) lorsque les mêmes pages sont chargées à plusieurs reprises en raison d'un manque de mémoire principale pour les conserver en mémoire. En fonction de la configuration et de l'algorithme, le débit réel d'un système peut se dégrader de plusieurs ordres de grandeur.

En informatique, raclée se produit lorsque les ressources de mémoire virtuelle d'un ordinateur sont surutilisées, conduisant à un état constant de pagination et d'erreurs de page, inhibant la plupart des traitements au niveau de l'application. Cela entraîne une dégradation ou un effondrement des performances de l’ordinateur. La situation peut continuer indéfiniment jusqu'à ce que l'utilisateur ferme certaines applications en cours d'exécution ou que les processus actifs libèrent des ressources de mémoire virtuelle supplémentaires.

Pour en savoir plus clairement sur le thrashing, nous devons d'abord connaître les défauts de page et l'échange.

    Défaut de page :Nous savons que chaque programme est divisé en quelques pages. Une erreur de page se produit lorsqu'un programme tente d'accéder à des données ou à du code dans son espace d'adressage mais ne se trouve pas actuellement dans la RAM du système.Échange :Chaque fois qu'un défaut de page se produit, le système d'exploitation essaie de récupérer cette page de la mémoire secondaire et essaie de l'échanger avec l'une des pages de la RAM. Ce processus est appelé échange.

Raclée C'est lorsque les erreurs de page et les échanges se produisent très fréquemment à un rythme plus élevé, et que le système d'exploitation doit alors passer plus de temps à échanger ces pages. Cet état du système d’exploitation est connu sous le nom de thrashing. En raison du thrashing, l'utilisation du processeur va être réduite ou négligeable.

Qu'est-ce que le thrash

Le concept de base impliqué est que si un processus reçoit trop peu de trames, il y aura alors trop de défauts de page et trop fréquents. En conséquence, aucun travail utile ne serait effectué par le processeur et son utilisation diminuerait considérablement.

Le planificateur à long terme tenterait alors d'améliorer l'utilisation du processeur en chargeant davantage de processus dans la mémoire, augmentant ainsi le degré de multiprogrammation. Malheureusement, cela entraînerait une nouvelle diminution de l'utilisation du processeur, déclenchant une réaction en chaîne de défauts de page plus élevés, suivie d'une augmentation du degré de multiprogrammation, appelée thrashing.

Algorithmes pendant le Thrashing

Chaque fois que le thrashing démarre, le système d'exploitation tente d'appliquer soit l'algorithme de remplacement de page global, soit l'algorithme de remplacement de page local.

1. Remplacement global des pages

Étant donné que le remplacement global de page peut apporter n'importe quelle page, il essaie d'apporter plus de pages chaque fois qu'une raclée est détectée. Mais ce qui se passera en réalité, c'est qu'aucun processus ne recevra suffisamment d'images et, par conséquent, les raclées augmenteront de plus en plus. Par conséquent, l’algorithme global de remplacement de page n’est pas adapté en cas de raclée.

2. Remplacement de la page locale

Contrairement à l'algorithme de remplacement de page global, le remplacement de page local sélectionnera les pages qui appartiennent uniquement à ce processus. Il y a donc une chance de réduire les raclées. Mais il est prouvé qu’il existe de nombreux inconvénients si l’on utilise le remplacement de page local. Par conséquent, le remplacement de page local n’est qu’une alternative au remplacement de page global dans un scénario de raclée.

Causes de la raclée

Les programmes ou les charges de travail peuvent provoquer des ralentissements, ce qui entraîne de graves problèmes de performances, tels que :

  • Si l'utilisation du processeur est trop faible, nous augmentons le degré de multiprogrammation en introduisant un nouveau système. Un algorithme global de remplacement de page est utilisé. Le planificateur de processeur constate la diminution de l'utilisation du processeur et augmente le degré de multiprogrammation.
  • L'utilisation du processeur est comparée au degré de multiprogrammation.
  • À mesure que le degré de multiprogrammation augmente, l'utilisation du processeur augmente également.
  • Si le degré de multiprogrammation augmente encore, des problèmes s'installent et l'utilisation du processeur diminue fortement.
  • Donc, à ce stade, pour augmenter l’utilisation du processeur et arrêter les problèmes, nous devons diminuer le degré de multiprogrammation.

Comment éliminer les coups

Le thrashing a des impacts négatifs sur la santé du disque dur et les performances du système. Il est donc nécessaire de prendre certaines mesures pour l’éviter. Pour résoudre le problème du raclée, voici les méthodes suivantes, telles que :

    Ajustez la taille du fichier d'échange :Si le fichier d'échange système n'est pas configuré correctement, une destruction du disque peut également vous arriver.Augmentez la quantité de RAM :Comme une mémoire insuffisante peut entraîner une destruction du disque, une solution consiste à ajouter plus de RAM à l'ordinateur portable. Avec plus de mémoire, votre ordinateur peut gérer les tâches facilement et ne doit pas travailler de manière excessive. Généralement, c’est la meilleure solution à long terme.Diminuez le nombre d'applications exécutées sur l'ordinateur :S'il y a trop d'applications exécutées en arrière-plan, vos ressources système en consommeront beaucoup. Et la ressource système restante est lente, ce qui peut entraîner des problèmes. Ainsi, lors de la fermeture, certaines applications libéreront des ressources afin que vous puissiez éviter dans une certaine mesure de vous battre.Remplacer les programmes :Remplacez les programmes qui consomment beaucoup de mémoire par des équivalents qui utilisent moins de mémoire.

Techniques pour prévenir les coups

Le remplacement de page locale est meilleur que le remplacement de page globale, mais le remplacement de page locale présente de nombreux inconvénients, il n'est donc parfois pas utile. Par conséquent, vous trouverez ci-dessous quelques autres techniques utilisées pour gérer les raclées :

1. Modèle de localité

Une localité est un ensemble de pages activement utilisées ensemble. Le modèle de localité indique qu’au fur et à mesure qu’un processus s’exécute, il se déplace d’une localité à une autre. Ainsi, un programme est généralement composé de plusieurs localités différentes qui peuvent se chevaucher.

Par exemple, lorsqu'une fonction est appelée, elle définit une nouvelle localité où des références mémoire sont faites aux instructions d'appel de fonction, aux variables locales et globales, etc. De même, lorsque l'on quitte la fonction, le processus quitte cette localité.

2. Modèle d'ensemble de travail

Ce modèle est basé sur le concept énoncé ci-dessus du modèle de localité.

Le principe de base stipule que si nous allouons suffisamment de frames à un processus pour s'adapter à sa localité actuelle, il ne fera que se tromper à chaque fois qu'il se déplacera vers une nouvelle localité. Mais si les trames allouées sont inférieures à la taille de la localité actuelle, le processus est voué à échouer.

Selon ce modèle, basé sur le paramètre A, l'ensemble de travail est défini comme l'ensemble des pages dans les références de page « A » les plus récentes. Par conséquent, toutes les pages activement utilisées finiraient toujours par faire partie de l’ensemble de travail.

nuage de printemps

La précision de l'ensemble de travail dépend de la valeur du paramètre A. Si A est trop grand, les ensembles de travail peuvent se chevaucher. En revanche, pour des valeurs de A plus petites, la localité pourrait ne pas être entièrement couverte.

Si D est la demande totale de trames et de WSSjeest la taille de l'ensemble de travail pour le processus i,

D = ⅀ WSSje

Maintenant, si « m » est le nombre d’images disponibles dans la mémoire, il y a deux possibilités :

  • D> m, c'est-à-dire que la demande totale dépasse le nombre d'images, un ralentissement se produira car certains processus n'obtiendront pas suffisamment d'images.
  • D<=m, then there would be no thrashing.< li>

S'il y a suffisamment de trames supplémentaires, d'autres processus peuvent être chargés dans la mémoire. D'un autre côté, si la somme des tailles des jeux de travail dépasse la disponibilité des trames, certains processus doivent être suspendus (échangés en mémoire).

Cette technique évite les turbulences tout en garantissant le plus haut degré de multiprogrammation possible. Ainsi, il optimise l’utilisation du processeur.

3. Fréquence des défauts de page

Une approche plus directe pour gérer le thrashing est celle qui utilise le concept Page-Fault Frequency.

Qu'est-ce que le thrash

Le problème associé au thrashing est le taux élevé de défauts de page, et donc, le concept ici est de contrôler le taux de défauts de page.

Si le taux de défauts de page est trop élevé, cela indique que le processus dispose de trop peu de trames allouées. Au contraire, un faible taux de pages erronées indique que le processus comporte trop de trames.

Des limites supérieure et inférieure peuvent être établies pour le taux de défauts de page souhaité, comme indiqué dans le diagramme.

Si le taux de défauts de page tombe en dessous de la limite inférieure, des trames peuvent être supprimées du processus. De même, si le taux de défauts de page dépasse la limite supérieure, davantage de trames peuvent être allouées au processus.

En d’autres termes, l’état graphique du système doit rester limité à la région rectangulaire formée dans le diagramme donné.

Si le taux de défauts de page est élevé sans trames libres, certains processus peuvent être suspendus et ceux qui leur sont alloués peuvent être réaffectés à d'autres processus. Les processus suspendus peuvent redémarrer plus tard.