¿Qué hace la desfragmentación?

Esta es una pregunta bastante interesante y común, ¡pero buena! ¡Por favor, denme un voto positivo si esto les ayuda! ¡Dedico bastante tiempo a escribir estas respuestas para tener una explicación completa pero simple!

Antes de comprender la desfragmentación, debe comprender qué es la fragmentación en primer lugar y cómo se almacenan los datos en discos duros y unidades flash. La desfragmentación es irrelevante en unidades basadas en flash y solo ayuda a los discos duros que tienen componentes móviles. Llegaré a por qué es así como explico.

Entonces, tomemos una unidad de disco duro. Es una matriz de discos de discos magnéticos en los que los datos se almacenan en círculos concéntricos, llamados pistas, que se dividen en secciones más pequeñas llamadas sectores. Cada vez que se lee una pista, el plato se mueve para ajustarse y colocarse en la siguiente pista. Este cambio de vía induce un pequeño retraso de tiempo.

Por lo tanto, para leer los datos de estos platos, los jefes deben moverse para leer las diferentes pistas y sectores. Ahora, considere todos los sectores disponibles establecidos en una matriz secuencial.

[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []

Asumiendo que esta es una partición vacía para su comprensión. La mayoría de los discos duros modernos suelen contener 512 bytes en cada sector. Ahora arriba, tenemos 24 sectores representados, supongamos que está escalado 1: 1, por lo que el tamaño de la partición es 512 * 24 bytes, lo que genera 12kB de datos. Tenga una imagen relativa en mente de un disco duro de 1 Terabyte con cada sector de 512 bytes. Eso es un total de aproximadamente 1,953,525,168 sectores. Y el número puede variar según el tamaño del sector. Aún así, un número bastante enorme.

Entonces, volvamos a la variedad de sectores. Digamos que guardamos un dato [1] de 4kB de datos. Cubrirá 8 sectores. Después de eso, guardamos datos [2] de tamaño 6kB, que son 12 sectores. Por lo tanto, el patrón de almacenamiento resultante:

[1] [1] [1] [1] [1] [1] [1] [1] [2] [2] [2] [2] [2] [2] [2] [2] [2 ] [2] [2] [2] [] [] [] []

Ahora no tenemos uso de datos [1] y lo eliminamos. Entonces nos quedamos con:

[] [] [] [] [] [] [] [] [2] [2] [2] [2] [2] [2] [2] [2] [2] [2] [2] [ 2] [] [] [] []

Ahora nos gustaría guardar datos [3] en el disco, es decir, 1,2 kB. Entonces esto abarcará 3 sectores. Solo se puede almacenar un conjunto de datos en un sector, por lo que el sector # 3 en este caso está completamente reservado por los datos [3].

[3] [3] [3] [] [] [] [] [] [2] [2] [2] [2] [2] [2] [2] [2] [2] [2] [ 2] [2] [] [] [] []

Ahora queremos almacenar datos [4] que tienen un tamaño de 4 kB (8 sectores) donde tenemos un espacio libre de 9 sectores que equivale a 4.5kB.

[3] [3] [3] [4] [4] [4] [4] [4] [2] [2] [2] [2] [2] [2] [2] [2] [2 ] [2] [2] [2] [4] [4] [4] []

Verá, no teníamos una porción continua de sectores disponibles, por lo que los datos se dividieron en dos regiones diferentes. Esto es fragmentación de datos. Esta es solo una relación a pequeña escala, ¡imagine la cantidad de sectores en su disco duro! Las operaciones de datos que tienen lugar repetidamente terminan con una porción de datos fragmentados en varias partes, ¡a veces incluso en más de 1000 partes!

Lo que esto significa es que las cabezas tienen que moverse más de 1000 veces a diferentes ubicaciones para acceder a una sola porción de datos. Como puede imaginar, este proceso ralentizará la computadora.

Lo que hace la desfragmentación es mover datos alrededor del disco duro para liberar espacios continuos y organizar los datos para obtenerlos en una sola matriz continua, lo que puede mejorar bastante la velocidad de un disco duro.

Ahora, mencioné que la desfragmentación es irrelevante para unidades flash como SSD, los chips de memoria interna y las tarjetas de memoria de nuestro teléfono. ¿Por qué? ¡Porque no hay partes móviles! Por lo tanto, independientemente de los numerosos fragmentos en los que se dividen los datos, no hay ningún problema para acceder a estas porciones del chip de memoria al mismo tiempo. Además, las unidades flash tienen ciclos de lectura / escritura limitados, y al desfragmentar, ¡solo estás reduciendo la vida útil de tu dispositivo y nada más que eso!

Hay un buen artículo de Wikipedia sobre desfragmentación (Desfragmentación – Wikipedia), pero la explicación breve es simple: cada archivo generalmente está formado por una serie de fragmentos (bloques) que se escriben en un disco siempre que haya espacio disponible. Con el tiempo, esto lleva a fragmentos de algunos archivos esparcidos aquí y allá, no de manera organizada y ordenada. La desfragmentación es el proceso de volver a unir estos bloques en secuencia, reduciendo la cantidad de golpes de cabeza en los discos giratorios.

Una de las muchas ventajas de los SSD es que el recorrido de la cabeza es inexistente, por lo tanto, la cantidad de desfragmentación (frecuencia) necesaria es significativamente menor. Por defecto, los sistemas operativos más nuevos (como Windows 10 Mac OS Sierra) seguirán optimizando / desfragmentando un SSD mensualmente. Muchas personas creen falsamente que la fragmentación no ocurre en dispositivos de estado sólido y, por lo tanto, la desfragmentación es innecesaria; Esto no es cierto, al igual que el mito de que hacerlo acelera el envejecimiento y la falla de estas unidades. Como regla general: los sistemas operativos modernos saben cómo manejar unidades modernas y, a menos que tenga necesidades específicas que abordar, debe dejarlas.

Es como cuando organizas tus cosas. Si sus calcetines estarían por toda la casa, le tomará más tiempo localizar un par que coincida con el de los calcetines en un cajón. Al igual que tiene que moverse por la casa, los cabezales del disco duro tienen que moverse sobre la superficie del disco para obtener sus archivos. Si todo está bien empaquetado, y todos los clústeres que forman un archivo específico están en un solo lugar, se requiere menos movimiento de cabeza para obtener ese archivo. Su disco duro, los cabezales de lectura / escritura es el componente más lento de su PC. Por supuesto, todo esto no es cierto para los SSD, ya que no contienen partes móviles.

Sin embargo, la mayor velocidad se logra utilizando un ‘optimizador’ de disco: además de desfragmentar, también coloca los archivos de uso frecuente en el área más rápida de su disco duro; las pistas externas de un disco duro es donde el acceso al disco es más rápido (más sectores por pista, por lo que se requiere menos movimiento de la cabeza).

Este software muestra cómo MB / s para las pistas externas son más altas y el tiempo de acceso más bajo.

Cuando escribe un archivo, escribe en el espacio disponible. Este espacio puede no ser continuo. Si un archivo tiene 30 sectores, puede escribir el archivo en los sectores 1–15 y 31–45. La desfragmentación intenta tomar archivos que no son continuos y hacerlos más continuos. También conocido como, trata de mover el archivo escrito en los sectores 1–15 y 31–45 y hacerlo en los sectores 1–30.

Esto es útil para unidades de husillo donde buscar en un sector no continuo tiene un costo de tiempo. En las unidades de estado sólido, no hay costo de tiempo adicional, por lo que hay menos beneficios. Un sistema de archivos altamente fragmentado tiene una mayor probabilidad de ser dañado y es más difícil de recuperar. Por lo tanto, la desfragmentación en SSD proporciona integridad de datos adicional, mientras que las unidades de disco duro proporciona velocidad e integridad de datos adicional.