Diferencias entre fragmentación interna y externa

Cada vez que se carga o elimina un proceso del bloque de memoria física, crea un pequeño agujero en el espacio de memoria que se denomina fragmento. Debido a la fragmentación, el sistema falla al asignar el espacio de memoria contigua a un proceso a pesar de que tiene la cantidad de memoria solicitada, pero de manera no contigua. La fragmentación se clasifica además en dos categorías, fragmentación interna y externa.

Tanto la fragmentación interna como la externa afectan la velocidad de acceso a datos del sistema. Tienen una diferencia básica entre ellas, es decir, la fragmentación interna se produce cuando se asignan bloques de memoria de tamaño fijo al proceso sin preocuparse por el tamaño del proceso, y la fragmentación externa se produce cuando los procesos se asignan dinámicamente a la memoria.

La razón básica detrás de la ocurrencia de la fragmentación interna y externa es que la fragmentación interna ocurre cuando la memoria se divide en bloques de tamaño fijo, mientras que la fragmentación externa ocurre cuando la memoria se divide en bloques de tamaño variable.

Diferencias entre fragmentación interna y externa

Cuando el bloque de memoria asignado al proceso resulta ser un poco más grande que la memoria solicitada, entonces el espacio libre que queda en el bloque de memoria asignado causa fragmentación interna. Por otro lado, cuando el proceso se elimina de la memoria, crea un espacio libre que causa un agujero en la memoria que se denomina fragmentación externa.

El problema de la fragmentación interna puede resolverse dividiendo la memoria en bloques de tamaño variable y asignando el bloque de mejor ajuste al proceso de solicitud. Sin embargo, la solución para la fragmentación externa es la compactación, pero su implementación es costosa, por lo que se debe permitir que los procesos adquieran memoria física de manera no contigua, para lograr esto se introduce la técnica de paginación y segmentación.

El problema de la fragmentación interna puede reducirse, pero no puede eliminarse por completo. La paginación y la segmentación ayudan a utilizar el espacio liberado debido a la fragmentación externa al permitir que un proceso ocupe la memoria de manera no contigua.