Microsoft Drive Optimizer (anteriormente Disk Defragmenter ) es una utilidad de Microsoft Windows diseñada para aumentar la velocidad de acceso a los datos reorganizando los archivos almacenados en un disco para que ocupen ubicaciones de almacenamiento contiguas , una técnica llamada desfragmentación . Microsoft Drive Optimizer se incluyó oficialmente por primera vez en Windows XP .
La desfragmentación de un disco minimiza el desplazamiento del cabezal, lo que reduce el tiempo que se tarda en leer y escribir archivos en el disco. [1] Como resultado de la disminución de los tiempos de lectura y escritura, Microsoft Drive Optimizer disminuye los tiempos de inicio del sistema para sistemas que se inician desde dispositivos de almacenamiento magnéticos, como un disco duro. Sin embargo, la desfragmentación no es útil en dispositivos de almacenamiento como unidades de estado sólido , unidades USB o tarjetas SD que utilizan memoria flash para aumentar las velocidades, ya que estas unidades no utilizan un cabezal. Hacerlo puede reducir la vida útil de este tipo de dispositivos.
A partir de Windows 8, el programa pasó a llamarse Microsoft Drive Optimizer, con algunas referencias cambiadas a Desfragmentar y optimizar unidades o simplemente Optimizar unidades .
A finales de 1982, el sistema operativo IBM PC DOS que se incluía con las primeras computadoras personales IBM incluía un optimizador de organización de volumen de disco para desfragmentar los disquetes de 5¼ pulgadas que utilizaban esas máquinas. En ese momento, MS-DOS de Microsoft no desfragmentaba los discos duros. Varios desarrolladores de software de terceros comercializaron desfragmentadores para llenar este vacío. MS-DOS 6.0 introdujo Microsoft Defrag. [2] Sin embargo, Windows NT no ofrecía una utilidad de desfragmentación y otros sugirieron Symantec como una posible alternativa para la utilidad. [3]
Las versiones iniciales de Windows NT carecían de una herramienta de desfragmentación. Las versiones hasta Windows NT 3.51 no tenían una interfaz de programación de aplicaciones para mover clústeres de datos en discos duros. [4] Executive Software, posteriormente rebautizada como Diskeeper Corporation , lanzó el software de desfragmentación Diskeeper para Windows NT 3.51, [4] que se entregaba con una versión personalizada del núcleo NT y controladores del sistema de archivos que podían mover clústeres.
Microsoft incluyó comandos de control del sistema de archivos (FSCTL) para mover clústeres en el núcleo de Windows NT 4.0 , [4] que funcionaban tanto para particiones NTFS como FAT . Sin embargo, Windows NT 4.0 no proporcionaba una interfaz de usuario gráfica o de línea de comandos. [4]
El Desfragmentador de disco se envió por primera vez como parte de Windows 95 y luego se envió con Windows 98 y Windows Me , bajo licencia de Symantec Corporation. Se podía programar mediante un Asistente de mantenimiento y parámetros de línea de comandos compatibles. [5] En la versión del Desfragmentador de disco incluida con Windows 95 y 98, si el contenido de la unidad cambiaba durante la desfragmentación, el programa se detenía, volvía a escanear toda la unidad y luego reanudaba el proceso desde donde lo había dejado. [6] Esta peculiaridad se eliminó en la versión de Windows Me del Desfragmentador de disco.
El Desfragmentador de disco de Windows 2000 era una versión simplificada de Diskeeper, con licencia de Diskeeper Corporation. Utiliza las siguientes técnicas: [4]
En Windows 2000 y sistemas operativos posteriores, Microsoft Drive Optimizer tiene las siguientes limitaciones:
Además, la versión de Windows 2000 tiene las siguientes limitaciones que se eliminaron en Windows XP: [8]
El Desfragmentador de disco de Windows se actualizó para aliviar algunas restricciones. [9] Ya no depende del Administrador de caché de Windows NT, que impedía que el desfragmentador moviera partes de un archivo que cruzaran el límite de 256 KB dentro del archivo. Los archivos de metadatos NTFS también se pueden desfragmentar. Se ha incluido una herramienta de línea de comandos, defrag.exe , [10] que proporciona acceso al desfragmentador desde cmd.exe y el Programador de tareas . En Windows XP, si la Tabla maestra de archivos (MFT) se divide en varios fragmentos, defrag.exe y la versión GUI pueden combinar los fragmentos de la MFT durante la desfragmentación. [11] Windows XP y posteriores han introducido la función Desfragmentación de archivos de arranque , esta función está habilitada de forma predeterminada y se puede deshabilitar en el Registro. [12]
En Windows Vista , el Desfragmentador de disco incluye una opción para ejecutarse automáticamente en horarios programados mediante el Programador de tareas y utiliza una prioridad de CPU baja y el algoritmo de E/S de prioridad baja recientemente introducido para que pueda continuar desfragmentando utilizando recursos reducidos (menos actividad de lectura/escritura de CPU y disco) cuando el equipo está en uso. La interfaz de usuario se ha simplificado y se han eliminado por completo el gráfico de colores, el indicador de progreso , el análisis del disco y la información de fragmentación.
Si los fragmentos de un archivo tienen un tamaño superior a 64 MB, el archivo no se desfragmenta si se utiliza la GUI; Microsoft ha declarado que esto se debe a que no hay un beneficio de rendimiento discernible ya que el tiempo de búsqueda de fragmentos de datos tan grandes es insignificante en comparación con el tiempo necesario para leerlos. [13] El resultado, sin embargo, es que el Desfragmentador de disco no requiere una cierta cantidad de espacio libre para desfragmentar con éxito un volumen, a diferencia de realizar una desfragmentación completa que requiere al menos un 15% de espacio libre en el volumen. La utilidad de línea de comandos, Defrag.exe , ofrece más control sobre el proceso de desfragmentación, como realizar una desfragmentación completa consolidando todos los fragmentos de archivo independientemente del tamaño. [14] Esta utilidad se puede utilizar para desfragmentar volúmenes específicos o simplemente para analizar volúmenes como lo haría el desfragmentador en Windows XP .
El Desfragmentador de disco es mantenido por los Servicios de archivos básicos de Microsoft. La versión de Windows Vista se ha actualizado en Windows Vista SP1 para incluir las mejoras realizadas en Windows Server 2008. La más notable de estas mejoras es que se ha agregado nuevamente la capacidad de seleccionar qué volúmenes se deben desfragmentar. [15] Cabe destacar que el desfragmentador de Windows Vista es mucho más efectivo que la versión incluida con XP. [16]
Windows 7 reintroduce la función de análisis y muestra el porcentaje de finalización de la desfragmentación, ambas funciones eliminadas en Windows Vista. También permite desfragmentar varios volúmenes simultáneamente.
Según Scott Hanselman de Microsoft , Windows 7 [ se necesita verificación ] y versiones posteriores desfragmentan un disco de estado sólido (SSD), pero de una manera completamente diferente. Hay menos incentivos para desfragmentar los SSD porque la fragmentación de archivos tiene un menor impacto en el rendimiento de los mismos y manejan una cantidad finita de ciclos de almacenamiento antes de que expire su vida útil. Sin embargo, los sistemas de archivos no pueden soportar una fragmentación infinita de archivos cuando alcanzan su límite de metadatos. Además, Microsoft Drive Optimizer también es responsable de ejecutar el comando TRIM en los SSD. [17]