Desfragmentación


En el mantenimiento de sistemas de archivos , la desfragmentación es un proceso que reduce el grado de fragmentación . Lo hace organizando físicamente el contenido del dispositivo de almacenamiento masivo utilizado para almacenar archivos en el menor número de regiones contiguas (fragmentos, extensiones ). También intenta crear regiones más grandes de espacio libre utilizando la compactación para impedir el retorno de la fragmentación. Algunas utilidades de desfragmentación intentan mantener juntos los archivos más pequeños dentro de un solo directorio, ya que a menudo se accede a ellos en secuencia.

La desfragmentación es ventajosa y relevante para los sistemas de archivos en unidades de disco electromecánicas ( unidades de disco duro , unidades de disquete y medios de disco óptico ). El movimiento de los cabezales de lectura/escritura del disco duro sobre diferentes áreas del disco cuando se accede a archivos fragmentados es más lento, en comparación con el acceso secuencial a todo el contenido de un archivo no fragmentado sin mover los cabezales de lectura/escritura para buscar otros fragmentos.

La fragmentación ocurre cuando el sistema de archivos no puede o no puede asignar suficiente espacio contiguo para almacenar un archivo completo como una unidad, sino que coloca partes de él en espacios entre archivos existentes (por lo general, esos espacios existen porque anteriormente contenían un archivo que el sistema de archivos tiene). eliminado posteriormente o porque el sistema de archivos asignó espacio en exceso para el archivo en primer lugar). Los archivos que a menudo se agregan (como con los archivos de registro), así como la adición y eliminación frecuente de archivos (como con los correos electrónicos y la memoria caché del navegador web), los archivos más grandes (como con los videos) y una mayor cantidad de archivos contribuyen a la fragmentación y al rendimiento consiguiente. pérdida. La desfragmentación intenta aliviar estos problemas.

Un disco en blanco tiene cinco archivos, de la A a la E, cada uno de los cuales utiliza 10 bloques de espacio (para esta sección, un bloque es una unidad de asignación del sistema de archivos ; el tamaño del bloque se establece cuando se formatea el disco y puede ser de cualquier tamaño admitido por el sistema de archivos). En un disco en blanco, todos estos archivos se ubicarían uno tras otro (ver ejemplo 1 en la imagen). Si se eliminara el archivo B, habría dos opciones: marcar el espacio para el archivo B como vacío para volver a utilizarlo más tarde, o mover todos los archivos después de B para que el espacio vacío quede al final. Dado que mover los archivos puede llevar mucho tiempo si hay muchos archivos que necesitan ser movidos, por lo general, el espacio vacío simplemente se deja allí, marcado en una tabla como disponible para nuevos archivos (consulte el ejemplo 2 en la imagen).[nota 1] Cuando se asigna un nuevo archivo, F, que requiere 6 bloques de espacio, podría colocarse en los primeros 6 bloques del espacio que anteriormente contenía el archivo B, y los 4 bloques siguientes permanecerán disponibles (consulte el ejemplo 3 en la imagen). Si se agrega otro archivo nuevo, G, y necesita solo 4 bloques, podría ocupar el espacio después de F y antes de C (ejemplo 4 en la imagen).

Sin embargo, si el archivo F necesita expandirse, hay tres opciones, ya que el espacio inmediatamente siguiente ya no está disponible:

Además, el concepto de "fragmentación" no solo se limita a archivos individuales que tienen varias extensiones en el disco. Por ejemplo, un grupo de archivos que normalmente se leen en una secuencia particular (como los archivos a los que accede un programa cuando se está cargando, que pueden incluir ciertas DLL , varios archivos de recursos, los archivos de medios audiovisuales de un juego) pueden considerarse fragmentados si no están en orden de carga secuencial en el disco, incluso si estos archivos individuales no estánfragmentado; los cabezales de lectura/escritura tendrán que buscar estos archivos (no fragmentados) al azar para acceder a ellos en secuencia. Es posible que algunos grupos de archivos se hayan instalado originalmente en la secuencia correcta, pero se separan con el tiempo a medida que se eliminan ciertos archivos dentro del grupo. Las actualizaciones son una causa común de esto, porque para actualizar un archivo, la mayoría de los actualizadores generalmente eliminan primero el archivo antiguo y luego escriben uno nuevo y actualizado en su lugar. Sin embargo, la mayoría de los sistemas de archivos no escriben el nuevo archivo en el mismo lugar físico del disco. Esto permite que los archivos no relacionados llenen los espacios vacíos que quedan.


Visualización de la fragmentación y luego de la desfragmentación
Ejemplos de cinco estados de fragmentación
Una utilidad de desfragmentación de Windows