Différence Entre La Fragmentation Interne Et Externe

Table des matières:

Différence Entre La Fragmentation Interne Et Externe
Différence Entre La Fragmentation Interne Et Externe

Vidéo: Différence Entre La Fragmentation Interne Et Externe

Vidéo: Différence Entre La Fragmentation Interne Et Externe
Vidéo: 05 Cours de systéme d'exploitation 2 SMI S4: La mémoire part2 2024, Mars
Anonim

Fragmentation interne vs externe

La différence entre la fragmentation interne et externe est un sujet d'intérêt pour beaucoup de personnes qui aiment améliorer leurs connaissances en informatique. Avant de connaître cette différence, nous devons voir ce qu'est la fragmentation. La fragmentation est un phénomène qui se produit dans la mémoire de l'ordinateur, telle que la mémoire vive (RAM) ou les disques durs, ce qui entraîne un gaspillage et une utilisation inefficace de l'espace libre. Bien que l'utilisation efficace de l'espace disponible soit entravée, cela entraîne également des problèmes de performances. La fragmentation interne se produit lorsque l'allocation de mémoire est basée sur des partitions de taille fixe où, après qu'une application de petite taille est affectée à un emplacement, l'espace libre restant de cet emplacement est gaspillé. La fragmentation externe se produit lorsque la mémoire est allouée dynamiquement où, après le chargement et le déchargement de plusieurs emplacements ici et là, l'espace libre est distribué plutôt que contigu.

Qu'est-ce que la fragmentation interne?

Différence entre la fragmentation interne et externe - Fragmentation interne
Différence entre la fragmentation interne et externe - Fragmentation interne

Considérez la figure ci-dessus où un mécanisme d'allocation de mémoire de taille fixe est suivi. Initialement, la mémoire est vide et l'allocateur a divisé la mémoire en partitions de taille fixe. Ensuite, trois programmes nommés A, B, C ont été chargés sur les trois premières partitions tandis que la 4ème partition est toujours libre. Le programme A correspond à la taille de la partition, il n'y a donc pas de gaspillage dans cette partition, mais le programme B et le programme C sont plus petits que la taille de la partition. Ainsi, dans la partie 2 et la partition 3, il reste de l'espace libre. Cependant, cet espace libre est inutilisable car l'allocateur de mémoire n'attribue que des partitions complètes aux programmes mais pas des parties de celui-ci. Ce gaspillage d'espace libre est appelé fragmentation interne.

Dans l'exemple ci-dessus, il s'agit de partitions fixes de taille égale, mais cela peut même se produire dans une situation où des partitions de différentes tailles fixes sont disponibles. Habituellement, la mémoire ou l'espace le plus dur est divisé en blocs qui ont généralement la taille de puissances de 2 tels que 2, 4, 8, 16 octets. Ainsi, un programme ou un fichier de 3 octets sera affecté à un bloc de 4 octets mais un octet de ce bloc deviendra inutilisable provoquant une fragmentation interne.

Qu'est-ce que la fragmentation externe?

Différence entre la fragmentation interne et externe - Fragmentation externe
Différence entre la fragmentation interne et externe - Fragmentation externe

Considérez la figure ci-dessus où l'allocation de mémoire est effectuée de manière dynamique. Dans l'allocation de mémoire dynamique, l'allocateur alloue uniquement la taille exacte nécessaire pour ce programme. La première mémoire est totalement gratuite. Ensuite, les programmes A, B, C, D et E de différentes tailles sont chargés l'un après l'autre et ils sont placés en mémoire de manière contiguë dans cet ordre. Puis plus tard, le programme A et le programme C se ferment et ils sont déchargés de la mémoire. Il y a maintenant trois zones d'espace libre dans la mémoire, mais elles ne sont pas adjacentes. Maintenant, un grand programme appelé Programme F va être chargé, mais aucun des blocs d'espace libre n'est suffisant pour le programme F. L'ajout de tous les espaces libres est certainement suffisant pour le programme F, mais en raison du manque de contiguïté, cet espace est inutilisable pour le programme F. Cela s'appelle la fragmentation externe.

Quelle est la différence entre la fragmentation interne et externe?

• La fragmentation interne se produit lorsqu'une technique d'allocation de mémoire de taille fixe est utilisée. La fragmentation externe se produit lorsqu'une technique d'allocation de mémoire dynamique est utilisée.

• La fragmentation interne se produit lorsqu'une partition de taille fixe est affectée à un programme / fichier de taille inférieure à la partition rendant le reste de l'espace de cette partition inutilisable. La fragmentation externe est due au manque d'espace adjacent après le chargement et le déchargement des programmes ou des fichiers pendant un certain temps, car alors tout l'espace libre est distribué ici et là.

• La fragmentation externe peut être exploitée par compactage où les blocs assignés sont déplacés d'un côté, de sorte que l'espace contigu soit gagné. Cependant, cette opération prend du temps et certaines zones affectées critiques, par exemple les services système, ne peuvent pas être déplacées en toute sécurité. Nous pouvons observer cette étape de compactage effectuée sur les disques durs lors de l'exécution du défragmenteur de disque sous Windows.

• La fragmentation externe peut être évitée par des mécanismes tels que la segmentation et la pagination. Ici, un espace mémoire virtuel contigu logique est donné alors qu'en réalité les fichiers / programmes sont divisés en parties et placés ici et là.

• La fragmentation interne peut être mutilée en ayant des partitions de plusieurs tailles et en attribuant un programme basé sur le meilleur ajustement. Cependant, la fragmentation encore interne n'est pas complètement éliminée.

Résumé:

Fragmentation interne vs externe

La fragmentation interne et la fragmentation externe sont des phénomènes où la mémoire est gaspillée. La fragmentation interne se produit dans l'allocation de mémoire de taille fixe tandis que la fragmentation externe se produit dans l'allocation de mémoire dynamique. Lorsqu'une partition allouée est occupée par un programme qui est inférieur à la partition, l'espace restant est gaspillé, provoquant une fragmentation interne. Lorsqu'il est impossible de trouver suffisamment d'espace adjacent après le chargement et le déchargement des programmes, du fait que l'espace libre est distribué ici et là, cela provoque une fragmentation externe. La fragmentation peut se produire dans n'importe quel périphérique de mémoire tel que la RAM, le disque dur et les lecteurs Flash.

Recommandé: