Diferencia entre la fragmentación interna y la fragmentación externa

Diferencia entre la fragmentación interna y la fragmentación externa

En el contexto de un sistema de archivos, la fragmentación es un uso ineficiente del espacio de almacenamiento para almacenar el contenido de un solo archivo en diferentes ubicaciones en un disco en lugar de en una sola secuencia contigua de bits en un solo lugar. La fragmentación es un fenómeno natural que ocurre físicamente en un disco duro o, a veces, en un módulo de memoria cuando los datos no se escriben lo suficientemente de cerca en la unidad.

Los datos a veces se escriben fuera de orden, lo que significa que los datos no se colocan uno al lado del otro en la unidad debido al uso frecuente de archivos. Estos datos se denominan fragmentos. En algún momento, el sistema operativo necesitaría acceder al sistema de archivos para encontrar dónde se encuentran los diferentes fragmentos en la unidad.

Por ejemplo, cuando crea un nuevo documento, digamos un archivo de Word; El archivo parece estar en un solo lugar. Puede abrir el archivo, editarlo o eliminarlo, lo que desee. Todas las actividades parecen estar sucediendo físicamente en el camino, al menos eso es lo que piensas.

El disco duro puede estar guardando fragmentos de archivos en un área del dispositivo, pero el resto existe literalmente en otro lugar del dispositivo de almacenamiento. En términos simples, la fragmentación se refiere al espacio de almacenamiento desperdiciado en el sistema de archivos, lo que permite desarrollar GAP entre las diferentes partes de un archivo.

La fragmentación se produce básicamente en el sistema de asignación de memoria dinámica porque reservó demasiado espacio para el archivo que resulta en áreas abiertas a su alrededor.

¿Qué es la fragmentación interna??

De alguna manera se relaciona con la partición de tamaño fijo. El sistema asigna la memoria a varios programas y procesos dividiéndolos en pequeños bloques como lo requiere el programa. Sin embargo, a veces se asigna más memoria de lo que necesita el proceso, lo que eventualmente resulta en exceso de memoria que se desechos o no se usa.

Por ejemplo, la memoria solo se puede asignar a programas en bloques divisibles por 4, 8 o 16. Cuando un proceso solicita 24 bytes, generalmente obtiene un bloque de 32 bytes, el exceso de 8 bytes no se usa. Por lo tanto, la memoria no utilizada reside dentro de una ubicación asignada específica y es tan pequeño que no se puede asignar un nuevo proceso, lo que resulta en desechos. Este desperdicio se denomina fragmentación interna. Probablemente la única forma de eliminar este tipo de fragmentación es mediante asignación de memoria dinámica.

¿Qué es la fragmentación externa??

La memoria principal forma agujeros entre porciones de memoria asignada que son demasiado pequeñas para mantener cualquier proceso. Es la desventaja de los algoritmos de asignación de almacenamiento, cuando los bloques contiguos de espacios no utilizados no pueden cumplir una nueva solicitud porque los espacios son demasiado pequeños para las necesidades de aplicación de memoria grandes. En términos simples, los bloques no contiguos crean agujeros en la memoria que dan como resultado un almacenamiento no utilizado fuera de las regiones asignadas, lo que significa que no se puede usar junto con la memoria principal para tareas de memoria más grandes. Terminan siendo aislados y no pueden eliminarse totalmente del espacio de memoria. Esto se llama fragmentación externa. Se puede eliminar por compactación que baraja el contenido de la memoria para colocar toda la memoria libre juntas.

Diferencia entre la fragmentación interna y externa

  1. Lo esencial

Fragmentación interna:

La fragmentación interna se refiere a espacios adicionales que se desperdician cuando se asigna más memoria a un proceso de lo necesario. Por lo general, ocurre cuando los bloques de memoria de tamaño fijo se asignan a los programas o procesos.

Fragmentación externa:

La fragmentación externa, por el contrario, se refiere a los espacios no utilizados que se forman entre los bloques contiguos de la memoria que no están adyacentes entre sí.

  1. Ocurrencia

Fragmentación interna:

El espacio libre que se forma dentro del bloque de memoria asignado cuando la memoria asignada al proceso es mayor que la memoria solicitada por el proceso se conoce como fragmentación interna. El "interno" se refiere a los bytes no utilizados que residen en los bloques de memoria más grandes.

Fragmentación externa:

Cuando la memoria principal forma agujeros que son demasiado pequeños para satisfacer cualquier solicitud, se llama fragmentación externa.

  1. Razón

Fragmentación interna:

La razón principal por la cual ocurre la fragmentación interna es cuando la memoria se divide en bloques de tamaño fijo .

Fragmentación externa:

La fragmentación externa es un fenómeno que ocurre cuando la memoria se divide en bloques de tamaño variable en función del tamaño de diferentes procesos.

  1. Solución

Fragmentación interna:

La fragmentación interna es un fenómeno natural que puede ser eliminado por la asignación de memoria dinámica que es asignar dinámicamente partes de bloques de memoria a los procesos a su solicitud y liberarlo cuando ya no son necesarios durante la ejecución de un programa.

Fragmentación externa:

La fragmentación externa, por otro lado, puede eliminarse por compactación, paginación y segmentación para que la memoria pueda asignarse a un proceso de manera no contigua.

VS interno. Fragmentación externa: tabla de comparación

Resumen de fragmentación interna y externa

La fragmentación interna y externa son fenómenos naturales relacionados con el espacio de memoria o la memoria no utilizados que se desperdician. La fragmentación interna sufre de una asignación de memoria ineficiente que ocurre cuando la memoria asignada a un proceso es más de lo que solicitó, dejando el espacio no utilizado en el bloque de memoria que eventualmente causa fragmentación interna. Después de eliminar el proceso de la memoria física, el espacio libre se distribuye aquí y allá y no se pueden encontrar bloques de memoria adyacentes, causando fragmentación externa. Sin embargo, ambos fenómenos se pueden evitar. La fragmentación interna se puede reducir asignando la memoria a los procesos dinámicamente, mientras que la fragmentación externa se puede evitar mejor mediante compactación, paginación y segmentación.