Différence entre la fragmentation interne et externe

le différence principale entre fragmentation interne et externe est que, Dans la fragmentation interne, le bloc de mémoire affecté à un processus est volumineux. Par conséquent, les parties restantes ne peuvent pas être utilisées pour un autre processus. Mais, dans la fragmentation externe, l'espace mémoire total est suffisant pour résider un processus. Cependant, il n'est pas contigu, de sorte que l'espace est inutilisé.

La fragmentation est le processus qui divise un espace mémoire libre en sections plus petites. Cela peut être dû à la difficulté d'affecter des blocs de mémoire à un processus car leur taille est inférieure à celle requise. Ce problème peut entraîner un gaspillage de mémoire car les blocs de mémoire restent inutilisés. Il existe deux types de fragmentation appelés fragmentation interne et externe..

Zones clés couvertes

1. Qu'est-ce que la fragmentation?
       - Définition, fonctionnalité
2. Qu'est-ce que la fragmentation interne?
      - Définition, fonctionnalité
3. Qu'est-ce que la fragmentation externe?
     - Définition, fonctionnalité
4. Différence entre la fragmentation interne et externe
     - Comparaison des différences clés

Mots clés

Fragmentation interne, fragmentation externe, fragmentation, système d'exploitation

Qu'est-ce que la fragmentation?

Lorsqu'un processus est chargé et supprimé de la mémoire, cet espace libre est divisé en petits morceaux. Ces blocs de mémoire sont de petite taille et il n'est pas possible de les allouer au même processus ou à un autre processus. Par conséquent, ces blocs de mémoire restent inutilisés. Cette question s'appelle la fragmentation.

Par exemple, supposons qu’un processus (p1) se trouve dans la mémoire principale. Il faut 4 Mo d'espace. Ensuite, il est supprimé de la mémoire principale et stocké dans la mémoire secondaire. Cet espace mémoire initial qui appartenait à p1 est maintenant un espace libre. Cet espace est divisé en sections plus petites telles que 2 Mo et 2 Mo. Si le processus p1 doit être alloué à la mémoire principale, il ne peut pas utiliser cet espace précédent car il est déjà divisé. Donc, cet espace mémoire reste inutilisé.

Qu'est-ce que la fragmentation interne?

Dans la fragmentation interne, le bloc de mémoire affecté à un processus est plus grand que nécessaire. Par conséquent, certaines parties de la mémoire restent inutilisées. Cet espace ne peut pas être utilisé pour un autre processus. Supposons qu'il existe un processus p1 de 3 Mo. 4 Mo sont alloués pour ce processus dans la mémoire principale. Il n'est pas possible d'utiliser les 1 Mo restants pour un autre processus. Ce 1MB est gaspillé. Ce gaspillage est appelé fragmentation interne.

Figure 1: Fragmentation interne

Qu'est-ce que la fragmentation externe?

Si l'espace mémoire total est suffisant pour résider un processus, mais qu'il n'est pas continu, il n'est toujours pas possible d'utiliser cet espace pour un processus. Ce type de fragmentation est appelé fragmentation externe. Supposons que le processus est de 4 Mo. Il y a des espaces de 2 Mo, 1 Mo et 1 Mo en mémoire. La mémoire totale est suffisante pour résider le processus. Mais ces espaces ne sont pas contigus comme ils le sont à divers endroits. Par conséquent, l'espace reste inutilisé. C'est la fragmentation externe.

La mémoire de compactage ou aléatoire est une solution à la fragmentation externe. Il placera toute la mémoire libre dans un grand bloc.

Figure 2: compactage

Selon le diagramme ci-dessus, il y a un espace libre après p1 et p2. Il y a un espace après p3, p4 et p5. Par conséquent, tous les processus sont compactés d'un côté. Maintenant, il y a un espace libre continu. Il est possible d’affecter cet espace libre à un autre processus. Tous les espaces libres sont disponibles au même endroit.

Différence entre la fragmentation interne et externe

Définition

La fragmentation interne est une forme de fragmentation qui survient lorsqu'il reste des sections de mémoire en raison de l'allocation de blocs de mémoire volumineux pour un processus. La fragmentation externe est une forme de fragmentation qui survient lorsque la mémoire disponible est suffisante pour être allouée au processus mais que la mémoire disponible n'est pas contiguë..

La fonctionnalité

Dans la fragmentation interne, le bloc de mémoire affecté à un processus est volumineux. Par conséquent, la partie restante reste inutilisée car elle ne peut pas être affectée à un autre processus. Dans la fragmentation externe, l'espace mémoire est suffisant pour résider un processus, mais il n'est pas contigu. Par conséquent, cet espace ne peut pas être utilisé pour l'allocation.

Solution

La solution pour la fragmentation interne consiste à attribuer des partitions suffisamment grandes pour les processus. Le contenu de la mémoire de compactage ou de lecture aléatoire est la solution pour surmonter la fragmentation externe.

Conclusion

Dans la fragmentation interne, le bloc de mémoire affecté à un processus est volumineux. Par conséquent, les parties restantes ne peuvent pas être utilisées pour un autre processus. Dans la fragmentation externe, l'espace mémoire total est suffisant pour résider un processus, mais il n'est pas contigu, de sorte que l'espace n'est pas utilisé. C’est la principale différence entre la fragmentation interne et externe.

Référence:

1. «Gestion de la mémoire du système d'exploitation». Www.tutorialspoint.com, Point sur les tutoriels, 8 janvier 2018, disponible ici..