Diferencia entre la fragmentación interna y externa

los diferencia principal entre la fragmentación interna y externa es que, en la fragmentación interna, el bloque de memoria asignado a un proceso es grande, por lo que las partes restantes no se pueden usar para otro proceso. Pero, en la fragmentación externa, el espacio de memoria total es suficiente para residir en un proceso. Sin embargo, no es contiguo, por lo que el espacio no se utiliza.

La fragmentación es el proceso que divide un espacio de memoria libre en secciones más pequeñas. Puede ocurrir debido a la dificultad de asignar bloques de memoria a un proceso, ya que tienen un tamaño más pequeño que el requerido. Este problema puede causar desperdicio de memoria ya que los bloques de memoria permanecen sin usar. Existen dos tipos de fragmentación llamados fragmentación interna y externa..

Áreas clave cubiertas

1. ¿Qué es la fragmentación?
       - Definición, Funcionalidad
2. ¿Qué es la fragmentación interna?
      - Definición, Funcionalidad
3. ¿Qué es la fragmentación externa?
     - Definición, Funcionalidad
4. Diferencia entre la fragmentación interna y externa
     - Comparación de diferencias clave

Términos clave

Fragmentación interna, fragmentación externa, fragmentación, sistema operativo

¿Qué es la fragmentación?

Cuando un proceso se carga y se elimina de la memoria, ese espacio libre se divide en partes pequeñas. Estos bloques de memoria son pequeños en tamaño, y no es posible asignarlos para el mismo proceso o algún otro proceso. Por lo tanto, esos bloques de memoria permanecen sin uso. Este problema se llama fragmentación..

Por ejemplo, suponga que hay un proceso (p1) en la memoria principal. Toma 4MB de espacio. Luego se retira de la memoria principal y se almacena en la memoria secundaria. Ese espacio de memoria inicial que pertenecía a p1 ahora es un espacio libre. Ese espacio está dividido en secciones más pequeñas como 2MB y 2MB. Si el proceso p1 tiene que asignarse a la memoria principal, no puede usar ese espacio anterior porque ya está dividido. Por lo tanto, ese espacio de memoria permanece sin uso.

¿Qué es la fragmentación interna?

En la fragmentación interna, el bloque de memoria asignado a un proceso es más grande que el requerido. Por lo tanto, algunas porciones de la memoria quedan sin usar. Ese espacio no puede ser usado para algún otro proceso. Supongamos que hay un proceso p1 que es de 3MB. Hay 4MB asignados para ese proceso en la memoria principal. No es posible utilizar los 1 MB restantes para algún otro proceso. Este 1MB se desperdicia. Este despilfarro se llama fragmentación interna..

Figura 1: Fragmentación interna

¿Qué es la fragmentación externa?

Si el espacio de memoria total es suficiente para residir en un proceso, pero no es continuo, entonces no es posible utilizar ese espacio para un proceso. Este tipo de fragmentación se llama fragmentación externa. Supongamos que el proceso es de 4MB. Hay 2 MB, 1 MB y 1 MB de espacio en la memoria. La memoria total es suficiente para residir el proceso. Pero esos espacios no son contiguos como lo son en varios lugares. Por lo tanto, el espacio permanece sin uso. Esto es fragmentación externa..

La memoria de compactación o aleatoria es una solución a la fragmentación externa. Colocará toda la memoria libre junta en un bloque grande.

Figura 2: Compactación

De acuerdo con el diagrama anterior, hay un espacio libre después de p1 y p2. Hay un espacio después de p3, p4 y p5. Por lo tanto, todos los procesos se compactan a un lado. Ahora hay un espacio libre continuo. Es posible asignar ese espacio libre a algún otro proceso. Todos los espacios libres están disponibles en un solo lugar..

Diferencia entre la fragmentación interna y externa

Definición

La fragmentación interna es una forma de fragmentación que surge cuando quedan secciones de la memoria debido a la asignación de grandes bloques de memoria para un proceso que el requerido. La fragmentación externa es una forma de fragmentación que surge cuando hay suficiente memoria disponible para asignar para el proceso pero la memoria disponible no es contigua.

Funcionalidad

En la fragmentación interna, el bloque de memoria asignado a un proceso es grande. Por lo tanto, la porción restante se deja sin usar, ya que no se puede asignar a otro proceso. En la fragmentación externa, el espacio de memoria es suficiente para residir en un proceso, pero no es contiguo. Por lo tanto, ese espacio no puede ser utilizado para la asignación.

Solución

La solución para la fragmentación interna es asignar particiones que sean lo suficientemente grandes para los procesos. La compactación o el contenido de la memoria aleatoria es la solución para superar la fragmentación externa.

Conclusión

En la fragmentación interna, el bloque de memoria asignado a un proceso es grande, por lo que las partes restantes no se pueden usar para otro proceso. En la fragmentación externa, el espacio de memoria total es suficiente para residir en un proceso, pero no es contiguo, por lo que ese espacio no se utiliza. Esta es la principal diferencia entre la fragmentación interna y externa..

Referencia:

1. "Gestión de la memoria del sistema operativo". Www.tutorialspoint.com, Tutorials Point, 8 de enero de 2018, disponible aquí.