Différence entre fragmentation interne et fragmentation externe

Différence entre fragmentation interne et 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 endroits sur un disque plutôt que dans une seule séquence contigu de bits en 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 assez étroitement sur le lecteur.

Les données sont parfois écrites de l'ordre, 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 des fichiers. Ces données sont appelées fragments. À un moment donné, le système d'exploitation devrait accéder au système de fichiers pour trouver où se trouvent les différents fragments sur le lecteur.

Par exemple, lorsque vous créez un nouveau document, disons un fichier Word; Le fichier semble être au même endroit. Vous pouvez ouvrir le fichier, le modifier ou le supprimer - tout ce que vous voulez. Toutes les activités semblent se produire physiquement sur le lecteur, du moins c'est ce que vous pensez.

Le disque dur peut enregistrer des morceaux de fichiers dans une zone de l'appareil, 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 gaspillé dans le système de fichiers permettant à l'écart de développer 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 réservait trop d'espace pour le fichier entraînant des zones ouvertes autour de lui.

Qu'est-ce que la fragmentation interne?

Il se rapporte en quelque sorte au partitionnement de taille fixe. Le système alloue la mémoire à divers programmes et processus en les divisant en petits blocs, comme l'exige le programme. Cependant, plus de mémoire est parfois allouée que ce qui est nécessaire par le processus, ce qui entraîne finalement un excès de mémoire en train de gaspiller ou de laisser inutilisé.

Par exemple, la mémoire ne peut être allouée qu'aux programmes en blocs divisibles par 4, 8 ou 16. Lorsqu'un processus demande 24 octets, il obtient généralement un bloc de 32 octets, l'excès de 8 octets est laissé inutilisé. Ainsi, la mémoire inutilisée réside dans un emplacement alloué spécifique et il est si petit qu'un nouveau processus ne peut pas lui être attribué, entraînant des déchets. Ce déchet est appelé fragmentation interne. La seule façon de supprimer ce type de fragmentation est probablement par allocation de mémoire dynamique.

Qu'est-ce que la fragmentation externe?

La mémoire principale forme des trous entre des parties de la mémoire allouée trop petite 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 grands besoins d'application de mémoire. En termes simples, les blocs non contiguës créent des trous dans la mémoire, ce qui entraîne un stockage inutilisé en dehors des régions allouées, ce qui signifie qu'elle ne peut pas être utilisée avec la mémoire principale pour les tâches de mémoire plus grandes. 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 supprimé 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. Bases

Fragmentation interne:

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

Fragmentation externe:

La fragmentation externe, au contraire, fait référence aux espaces inutilisés qui se forment 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 plus grande que la mémoire demandée par le processus est appelée fragmentation interne. Le «interne» fait référence aux octets inutilisés qui résident dans les blocs de mémoire plus grands.

Fragmentation externe:

Lorsque la mémoire principale forme des trous trop petits pour satisfaire une demande, elle s'appelle une fragmentation externe.

  1. Raison

Fragmentation interne:

La principale raison pour laquelle la fragmentation interne se produit est 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 en fonction de la taille de différents processus.

  1. Solution

Fragmentation interne:

La fragmentation interne est un phénomène naturel qui peut être éliminé par une allocation de mémoire dynamique qui consiste à allouer dynamiquement des parties des blocs de mémoire aux processus à leur demande et à le 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 afin que la mémoire puisse être allouée à un processus de manière non contiguë.

Interne vs. Fragmentation externe: graphique de comparaison

Résumé de la fragmentation interne et externe

La fragmentation interne et externe est des phénomènes naturels liés à l'espace mémoire ou à la mémoire inutilisé. La fragmentation interne souffre d'une allocation de mémoire inefficace qui se produit lorsque la mémoire allouée à un processus est plus que ce qui demandait, laissant un espace inutilisé dans le bloc de mémoire provoquant finalement une fragmentation interne. Une fois le processus supprimé de la mémoire physique, l'espace libre se répartit ici et là et aucun bloc de mémoire adjacent ne peut être trouvé, provoquant une fragmentation externe. Cependant, les deux phénomènes peuvent être évités. La fragmentation interne peut être réduite en allouant la mémoire aux processus dynamiquement, tandis que la fragmentation externe peut être mieux évitée par le compactage, la pagination et la segmentation.