Différence entre la fragmentation interne et la fragmentation externe

Dans le contexte d'un système de fichiers, la fragmentation est une utilisation inefficace de l'espace de stockage pour stocker le contenu d'un seul fichier à différents emplacements sur un disque plutôt que dans une seule séquence de bits contigus à un seul endroit. La fragmentation est un phénomène naturel qui se produit physiquement sur un disque dur ou parfois sur un module de mémoire lorsque les données ne sont pas écrites de manière suffisamment proche sur le lecteur..

Les données sont parfois écrites dans le désordre, ce qui signifie que les données ne sont pas placées les unes à côté des autres sur le lecteur en raison de l'utilisation fréquente de fichiers. Ces éléments de données sont appelés fragments. À un moment donné, le système d'exploitation devra accéder au système de fichiers pour rechercher l'emplacement des différents fragments sur le lecteur..

Par exemple, lorsque vous créez un nouveau document, supposons un fichier Word; le fichier semble être au même endroit. Vous pouvez ouvrir le fichier, le modifier ou le supprimer, à votre guise. Toutes les activités semblent se dérouler physiquement sur le lecteur, du moins c'est ce que vous pensez.

Le disque dur est peut-être en train de sauvegarder des morceaux de fichiers dans une zone du périphérique, mais le reste existe littéralement ailleurs sur le périphérique de stockage. En termes simples, la fragmentation fait référence à l'espace de stockage inutilisé dans le système de fichiers, ce qui permet de créer un écart entre les différentes parties d'un fichier..

La fragmentation se produit essentiellement dans le système d'allocation de mémoire dynamique car il a réservé trop d'espace pour le fichier, ce qui a pour résultat des zones ouvertes autour de lui..

Qu'est-ce que la fragmentation interne??

Cela concerne en quelque sorte le partitionnement à taille fixe. Le système alloue de la mémoire à divers programmes et processus en les divisant en petits blocs selon les besoins du programme. Cependant, le processus alloue parfois plus de mémoire que nécessaire, ce qui entraîne éventuellement un excès de mémoire gaspillé ou laissé inutilisé..

Par exemple, la mémoire ne peut être allouée qu'aux programmes de blocs divisibles par 4, 8 ou 16. Lorsqu'un processus demande 24 octets, il obtient généralement un bloc de 32 octets, les 8 octets en excès restant inutilisés. Ainsi, la mémoire non utilisée réside dans un emplacement attribué spécifique et est si petite qu’un nouveau processus ne peut pas lui être attribué, ce qui entraîne un gaspillage. Ces déchets sont qualifiés de fragmentation interne. Le seul moyen de supprimer ce type de fragmentation est probablement l’allocation dynamique de mémoire..

Qu'est-ce que la fragmentation externe??

La mémoire principale forme entre les parties de la mémoire allouée des trous trop petits pour contenir un processus. C'est l'inconvénient des algorithmes d'allocation de stockage, lorsque des blocs contigus d'espaces inutilisés ne peuvent pas servir une nouvelle demande, car les espaces sont trop petits pour les besoins d'applications de mémoire volumineuses. En termes simples, les blocs non contigus créent des trous dans la mémoire, ce qui entraîne un stockage inutilisé situé en dehors des régions allouées, ce qui signifie qu'il ne peut pas être utilisé avec la mémoire principale pour des tâches de mémoire plus importantes. Ils finissent par être isolés et ne peuvent pas être totalement éliminés de l'espace mémoire. C'est ce qu'on appelle la fragmentation externe. Il peut être enlevé par compactage qui mélange le contenu de la mémoire pour placer toute la mémoire libre ensemble.

Différence entre la fragmentation interne et externe

  1. Les bases

Fragmentation interne:

La fragmentation interne fait référence aux espaces supplémentaires gaspillés lorsque plus de mémoire est allouée à un processus que nécessaire. Cela se produit généralement lorsque des blocs de mémoire de taille fixe sont alloués aux programmes ou processus..

Fragmentation externe:

La fragmentation externe, au contraire, se réfère aux espaces inutilisés qui sont formés entre les blocs de mémoire contigus qui ne sont pas adjacents les uns aux autres.

  1. Occurrence

Fragmentation interne:

L'espace libre qui se forme dans le bloc de mémoire alloué lorsque la mémoire allouée au processus est supérieure à la mémoire demandée par le processus est appelé fragmentation interne. Le terme «interne» fait référence aux octets inutilisés qui résident dans les plus grands blocs de mémoire..

Fragmentation externe:

Lorsque la mémoire principale forme des trous trop petits pour satisfaire une requête, on parle de fragmentation externe..

  1. Raison

Fragmentation interne:

La fragmentation interne se produit principalement lorsque la mémoire est partitionnée en blocs de taille fixe. .

Fragmentation externe:

La fragmentation externe est un phénomène qui se produit lorsque la mémoire est divisée en blocs de taille variable basés sur la taille de processus différents..

  1. Solution

Fragmentation interne:

La fragmentation interne est un phénomène naturel qui peut être éliminé par l'allocation dynamique de mémoire, qui consiste à allouer dynamiquement des portions de blocs de mémoire aux processus à leur demande et à les libérer lorsqu'ils ne sont plus nécessaires lors de l'exécution d'un programme..

Fragmentation externe:

La fragmentation externe, en revanche, peut être éliminée par compactage, pagination et segmentation, de sorte que la mémoire puisse être allouée à un processus de manière non contiguë..

Fragmentation interne et externe: tableau comparatif

Résumé de la fragmentation interne et externe

La fragmentation interne et externe est un phénomène naturel lié à l'espace mémoire inutilisé ou au gaspillage de mémoire. La fragmentation interne souffre d'une allocation mémoire inefficace qui se produit lorsque la mémoire allouée à un processus est supérieure à celle demandée, laissant de l'espace inutilisé dans le bloc mémoire provoquant une fragmentation interne. Une fois le processus supprimé de la mémoire physique, l’espace libre devient distribué ici et là et aucun bloc de mémoire adjacent ne peut être trouvé, ce qui provoque une fragmentation externe. Cependant, les deux phénomènes peuvent être évités. La fragmentation interne peut être réduite en allouant de la mémoire aux processus de manière dynamique, tandis que la fragmentation externe peut être évitée de manière optimale par le compactage, la pagination et la segmentation..