Desfragmentación

Desfragmentación.
Información sobre la plantilla
Desfrag.jpeg
La desfragmentación es el proceso mediante el cual se acomodan los archivos de un disco de tal manera que cada uno quede en un área contigua y sin espacios sin usar entre ellos

Desfragmentación. Es un problema que surge debido al ordenamiento interno de los datos en algunos sistema de archivos. Se da muy comúnmente en el sistema operativo Windows aunque también afecta a otras plataformas pero en una escala mucho menor. También se produce Fragmentación dentro de la Memoria de la Computadora (memoria RAM) cuando se asignan los procesos a los diferentes bloques de memoria. Existen dos tipos de fragmentación: doble y triple. El desfragmentar no hace que el ordenador trabaje más rápido, sino que agiliza el proceso de la navegación por los archivos.

Causas

La fragmentación ocurre cuando el sistema operativo no asigna suficiente espacio contiguo para almacenar un archivo completo como una unidad, sino que, en cambio, pone partes de él en huecos entre otros archivos (usualmente estos huecos existen porque antes contuvieron un archivo que posteriormente fue borrado por el sistema operativo, o porque éste en primer lugar asignó demasiado espacio para un archivo). Los archivos más grandes y el mayor número de archivos también contribuyen a la fragmentación y en consecuencia a la pérdida de rendimiento. La desfragmentación intenta aliviar estos problemas.

Aspectos de la desfragmentación

En Windows la presencia de archivos inamovibles del sistema, o que el desfragmentador no moverá para simplificar su tarea (sobre todo con el archivo de intercambio, o swap file), puede impedir un buen porcentaje de desfragmentación en el Disco duro.

Ciertos sistemas de archivos son más susceptibles a cambios por desfragmentación que otros. Por ejemplo, una partición del tipo FATse fragmenta más rápido que una de partición del tipo NTFS(Windows) ,EXT 4 (Linux) o HFS + (MacOSX).

Crecimiento de la fragmentación

En sistemas sin resistencia a la fragmentación, ésta crece por sí misma si no se hace nada, así que es necesaria la desfragmentación periódica para mantener el rendimiento del disco al máximo y evitar la sobrecarga de defragmentaciones menos frecuentes.

Problemas de rendimiento y del usuario

En una amplia gama de sistemas operativos multiusuario, un usuario ordinario no puede desfragmentar los discos del sistema pues se requiere el acceso del superusuario (o "Administrador") para mover los archivos del sistema. Además, los sistemas de archivos tales como el NTFS (y la mayoría de los sistemas de archivos |Unix/Linux) están diseñados para reducir la probabilidad de la fragmentación. Las mejoras en los discos duros modernos, tales como Cachecache en RAM, mayor velocidad de rotación del disco y mayor densidad de datos, reducen en algún grado el impacto negativo de la fragmentación en el rendimiento del sistema, aunque los aumentos en las cantidades de datos usados comúnmente compensan estos efectos.

No obstante, los sistemas modernos se benefician en gran medida de las enormes capacidades de disco disponibles actualmente, pues los discos parcialmente ocupados se fragmentan mucho menos que los discos llenos. En cualquier caso, estas limitaciones de la desfragmentación han llevado a decisiones de diseño en los sistemas operativos modernos, tales como el Mac OS X basado en Unix, el cual se introdujo en 1999 y eliminó la necesidad, en la utilización normal, de que el usuario tenga que defragmentar una unidad. Ocho años después, en 2007, Windows Vistatambién introdujo la capacidad de desfragmentar automáticamente en un proceso en segundo plano --aunque no intenta defragmentar completamente un volumen, pues hacerlo sólo produciría aumentos de rendimiento despreciables.

Aproximación y desfragmentadores según el tipo de sistema

Los programas de desfragmentación, por lo general, vienen incorporados al sistema operativo (excepto en Windows NT 4). También existen aplicaciones externas, las cuales poseen opciones más avanzadas que las propuestas por los fabricantes del Sistema operativo.

El desfragmentador más conocido es el Defrag, que es usado en MS-DOS y en las plataformas de Windows (en estas últimas con el nombre de "Desfragmentador de disco"). Puede ser encontrado en las versiones de Windows en Inicio -> Programas -> Accesorios -> Herramientas de Sistema.

Desfragmentadores según tipo de partición del sistema

FAT: Los sistemas DOS 6.x y Windows 9x vienen con una utilidad de desfragmentación llamada Defrag. La de DOS es una versión limitada de SpeedDisk de Norton, y la de Windows es una versión con licencia de Diskeeper. NTFS: Windows 2000 y posteriores incluyen una herramienta de desfragmentación basada en Diskeeper. NT 4 y anteriores no incorporan utilidades de desfragmentación. Desafortunadamente, el desfragmentador integrado no consolida el espacio libre. Por lo tanto una unidad fuertemente fragmentada con muchos archivos pequeños puede no tener grandes espacios libres consecutivos después de la desfragmentación. Así, cualquier nuevo archivo grande instantáneamente será dividido en fragmentos pequeños, con un impacto inmediato en el rendimiento. Esto puede ocurrir incluso si el espacio usado en el disco es inferior al 60%.[7] ext2 (Linux) usa un desfragmentador externo llamado e2defrag, el cual no funciona con su sucesor ext3, a menos que este sistema de archivos se convierta temporalmente en ext2. En su lugar se puede usar un desfragmentador independiente del sistema de archivos, tal comoShake vxfs tiene una utilidad, fsadm, pensada para realizar también operaciones de desfragmentación.

JFS tiene una utilidad, defragfs, en los sistemas operativos de IBM. HFS Plus (MAC OS X) introdujo en 1998 un número de optimizaciones a los algoritmos de asignación, en un intento de desfragmentar los archivos mientras se accedía a ellos, sin un desfragmentador separado. Si el sistema de archivos se vuelve fragmentado, la única manera de desfragmentarlo es adquirir iDefrag de Coriolis System. WAFL en el sistema operativo ONTAP 7.2 de NetApp tiene un comando llamado reallocate, diseñado para desfragmentar archivos grandes.

XFS proporciona una utilidad de desfragmentación en línea, llamada xfs_fsr. SFS procesa la característica de desfragmentación de manera casi completamente desnacionalizada (aparte de la ubicación donde está funcionando), así que la desfragmentación se puede detener e iniciar instantáneamente.

Desfragmentador de Windows

Es un programa incluido en Microsoft Windows diseñado para aumentar la velocidad de acceso al disco (y, en ocasiones, aumentar la cantidad de espacio utilizable) mediante la desfragmentación, es decir, la reordenación de los archivos almacenados en un disco de manera que sus pedazos ocupen un espacio contiguo. El objetivo es minimizar el tiempo de movimiento de los cabezales del disco y aumentar al máximo la velocidad de transferencia.

Historia

Los programas de defragmentación han formado parte de la optimización de disco desde que ésta se estableció en 1975. Pocos, excepto Symantec y Microsoft, han distribuido programas de desfragmentación por separado de métodos de optimización de disco.

Los sistemas MS-DOS antiguos, hasta la versión 5.0 incluida, y Windows NT hasta la versión 4.0 no incluían utilidades de desfragmentación.

La inclusión gratuita de Defrag, con licencia de Symantec, en MS-DOS versión 6 redujo el uso de productos comerciales alternativos porque suponían un gasto adicional innecesario para los clientes potenciales.

Windows 9x y ME

Windows 95, Windows 98 y Windows Me incluyen también un desfragmentador. Puede ser invocado de forma programada mediante el asistente de mantenimiento y acepta opciones de línea de comandos. Su mayor limitación es que, si el contenido de la unidad cambia durante la desfragmentación, el proceso se reinicia desde el principio (por razones de seguridad).

Versiones modernas

Windows 2000 y versiones posteriores de Windows incluyen una versión de licencia limitada de Diskeeper producido por Diskeeper Corporation (antes Executive Software).Windows XP, además, incluye un Defrag.exe de línea de comandos.

Las técnicas utilizadas por el desfragmentador son los siguientes

Mover todos los índices o información del directorio a un solo lugar. Trasladar este lugar al el centro de los datos, es decir, a un tercio espacio del total, por lo que el promedio de traslado del cabezal en busca de datos se reduce a la mitad en comparación con tener la información de directorio en la parte delantera. Mover los archivos poco usados lejos del área de directorio. Admitir que el usuario indique qué archivos ignorar, y en cuáles hacer hincapié. Hacer archivos contiguos para que puedan leerse sin búsquedas innecesarias. Cambios en Windows Vista En Windows Vista, el desfragmentador incluye una opción para ejecutarse automáticamente mediante el Programador de Windows y utiliza el recientemente incorporado algoritmo de baja prioridad a fin de que pueda seguir defragmentando empleando menos recursos (menos actividad deCPU para lectura/escritura de disco) cuando el ordenador está en uso. La interfaz de usuario se ha simplificado, eliminando totalmente el gráfico de colores y el indicador de progreso. Tampoco es posible seleccionar las unidades que defragmentar, aunque Windows Vista Service Pack 1 agrega esta característica. Si los fragmentos de un archivo tienen más de 64 MB de tamaño, el archivo no es desfragmentado si se usa la versión GUI. Microsoft ha declarado que esto se debe a que no hay beneficio discernible para el rendimiento puesto que el tiempo de búsqueda de esos grandes trozos de datos es insignificante en comparación con el tiempo necesario para leerlos. El resultado, sin embargo, es que el desfragmentador no requiere una cierta cantidad de espacio libre a fin de desfragmentar con éxito un volumen, a diferencia de la operación de desfragmentación completa, que requiere al menos el 15% de espacio libre en el volumen. La utilidad de línea de comandos, Defrag.exe en Windows Vista, ofrece más control sobre el proceso de desfragmentación, como realizar una desfragmentación completa mediante la consolidación de todos los fragmentos de archivo independientemente de su tamaño. Además, Defrag.exe no requiere derechos de administrador. Esta utilidad se puede utilizar para desfragmentar volúmenes específicos o simplemente para analizar los volúmenes como el defragmentador de Windows XP. Actualmente, el Desfragmentador de disco es mantenido por el equipo "Microsoft's Core File Services" (CFS). En el Service Pack 1 de Windows Vista se ha actualizado la versión para Vista de manera que incluya las mejoras desarrolladas en Windows Server 2008. De estas mejoras, la más notable es la habilidad para seleccionar qué volúmenes deben ser defragmentados, que se ha añadido de nuevo.

Limitaciones

En Windows 2000 y sistemas posteriores, el Desfragmentador de disco ha sufrido las siguientes limitaciones: No desfragmenta archivos de la papelera de reciclaje. Tampoco puede desfragmentar archivos en uso. No se puede analizar más de un volumen a la vez, ni pueden ejecutarse dos instancias de la aplicación a la vez.

Sólo pueden desfragmentarse los volúmenes locales; no se soportan volúmenes extraíbles o de red. Las versiones GUI anteriores a la incluida con Windows Vista no se pueden ejecutar como tareas programadas; sin embargo, la utilidad de línea de comandos desde Windows XP puede ser ejecutada como tarea programada. Además, la versión para Windows 2000 tenía las siguientes limitaciones, que se retiraron en la versión para Windows XP:

No se podían defragmentar volúmenes NTFS con tamaños de cluster mayores de 4 kilobytes (KB). No era posible afinar el movimiento de datos NTFS no comprimidos. Al mover el cluster de un archivo se desplazaba también los 4 KB del archivo en que se contenía el cluster. Los metadatos NTFS, como la Tabla Maestra de Archivos (MFT), o los metadatos que describen los contenidos de un directorio, no se desfragmentaban. Los archivos cifrados con EFS no se desfragmentaban.

Fuentes