Las diferencias entre la fragmentación interna y externa

Por milton kazmeyer
Las diferencias entre la fragmentación interna y externa
Photodisc/Photodisc/Getty Images

Cuando una computadora copia un archivo en la memoria, utilizará las primeras direcciones y programas del paquete disponibles por completo, manteniéndolas contiguas para acelerar los tiempos de acceso. Sin embargo, cuando el sistema borra alguno de estos archivos, puede dejar agujeros irregulares, que luego el equipo intentará llenar con el siguiente programa copiado. En el proceso, los bloques de memoria que son demasiado pequeños para ser usados permanecen vacíos, desperdiciando espacio y reduciendo la memoria disponible del sistema, un proceso llamado fragmentación.

Fragmentación externa

Un tipo de fragmentación es la externa. Esto ocurre cuando el primer bloque libre de memoria no es suficiente para que el siguiente programa lo use. Por ejemplo, digamos que un sistema carga tres programas en la memoria, cada uno ocupando 50 megabytes o MB. El segundo programa termina, dejando ese bloque de 50 MB libres. Si el siguiente programa a iniciar requiere de 100 MB, no sería capaz de utilizar ese bloque de 50 MB de espacio libre, y el sistema le asigna el siguiente intervalo de 100 MB libres. Esa brecha en la memoria utilizada se mantendría sin uso hasta que algún programa requiera menos de 50 MB de memoria. Con el tiempo, estos pequeños espacios pueden sumarse, y un sistema se puede ejecutarse con memoria baja a pesar de las muchas pequeñas áreas de memoria libre.

Fragmentación interna

Otro tipo de fragmentación es la interna. Ésta se deriva del hecho de que mientras la memoria está denominada en bytes, la unidad más pequeña disponible generalmente es mayor que eso debido a las reglas de memoria de direccionamiento. Por ejemplo, si el sistema carga un programa que requiere de 50 MB y 19 bytes de memoria, puede que no sea capaz de iniciar el próximo programa a ese 20° byte, en lugar de iniciarlo al byte 24 o 28. Estas brechas resultan en pequeñas áreas de memoria inutilizable, simplemente porque el sistema no puede abordar todos y cada byte de memoria disponible para él. Si bien pérdida de memoria por la fragmentación interna generalmente es mucho menor que la pérdida por la fragmentación externa, estas pequeñas cantidades todavía pueden sumarse con el tiempo.

Fragmentación de datos

Los medios de almacenamiento magnéticos también pueden sufrir fragmentación. La externa no es un problema tan grande, ya que la mayoría de los sistemas de archivos pueden manejar archivos no contiguos, pero la difusión de los programas a lo largo de las grandes áreas de un disco puede aumentar significativamente los tiempos de acceso. La interna también se debe a que la unidad direccionable mínima de un disco duro es el cluster, que a menudo abarca cuatro kilobytes, KB, de datos. Si un archivo se extiende dentro de un nuevo cluster, incluso si no ocupa todos los cuatro KB, el resto del mismo no puede utilizarse para el almacenamiento.

Soluciones

La mejor solución para la fragmentación de memoria es reiniciar el sistema. Dado que estos fragmentos no utilizables se acumulan con el tiempo, cuanto más tiempo se ejecute un sistema, tanto menos memoria disponible puede tener para los programas. Reiniciar una computadora o servidor limpia la memoria, liberándola para su uso. Para la fragmentación del disco duro, ejecuta el software de desfragmentación para realinear y reorganizar los archivos, mejorando los tiempos y el rendimiento de acceso.