Tecnología

Inicio

¿Cómo se produce la fragmentación interna?

fragmentación interna es una condición en la que las porciones de la memoria del ordenador no se pueden utilizar debido a los procedimientos de asignación de memoria. A pesar de que la memoria no es realmente en uso, queda disponible para el sistema o cualquier otro programa. La cantidad de memoria perdida a la fragmentación interna es generalmente pequeña, pero en períodos de carga pesada, pérdida de memoria puede sumar y dar lugar a un mal funcionamiento del sistema.

Programas y memoria

Cuando un programa solicita la memoria del sistema, el sistema asigna los primeros bloques disponibles de la memoria, y los reserva hasta que termine el programa. Si más de un programa se ejecuta al mismo tiempo, el sistema simplemente asigna el siguiente bloque disponible, y continúa haciéndolo hasta que se agote la memoria disponible. Cuando algunos programas terminan, pueden dejar lagunas de memoria disponible, pero estas áreas no puedan emplearse. Si un programa solicita, por ejemplo, 100 bytes de memoria, pero el primer espacio disponible es de sólo 50 bytes, entonces ese espacio quedará sin utilizar y el sistema se dedicará el primer bloque disponible de 100 bytes contiguos en lugar de tratar de fragmentar la solicitud del programa.

Asignación de memoria

Mientras que el sistema mide la memoria en bytes, que no puede asignar cada byte de la memoria. Debido a los protocolos de memoria de direccionamiento, el sistema sólo puede comenzar la asignación de memoria en direcciones específicas, por lo general en múltiplos de 4, 8, o 16 bytes. Por ejemplo, si los protocolos de direccionamiento requieren múltiplos de 16 bytes, una petición de 25 bytes de memoria tomaría hasta 32 bytes de manera efectiva. El programa se ocupará de sus 25 bytes de memoria, pero el espacio desde el final del programa hasta el byte número 32 seguiría siendo inutilizables por el sistema. Además, algunos sistemas de concesión de programas de un tampón adicional de memoria para tener en cuenta las condiciones variables, y esta memoria pueden permanecer reservado incluso si no se utiliza.

Fragmentación

Estos pequeños bloques fragmentados de la memoria son la causa de la fragmentación interna. Desde los bytes perdidos suelen ser relativamente pequeña en comparación con los requisitos de memoria de los programas en cuestión, la fragmentación interna rara vez conduce a mayores problemas del sistema, excepto en situaciones en que la cantidad de memoria RAM instalada es apenas adecuado para las necesidades del sistema, o cuando la falta de trabajo se reduce repentinamente la cantidad de memoria en un sistema por lo demás sanos.

La fragmentación de datos

Los sistemas de archivos también pueden sufrir su propio tipo de fragmentación interna. Con el fin de acelerar el acceso al disco, sistemas de archivos utilizan un sistema de asignación similares, reservando bloques de bytes llamados cúmulos. El sistema NTFS de Windows utiliza, por ejemplo, tiene tamaños de clúster ajustables que van desde 512 a 4.096 bytes. Cualquier archivo menor que esta cantidad, o un fichero que sangra más en otro clúster menor que el tamaño total, hará que el sistema para saltar sobre el espacio restante en la asignación de más datos.