¿Para desfragmentar un disco duro se requiere al menos algo de espacio libre? Si es así, ¿cuánto?

¿Para desfragmentar un disco duro se requiere al menos algo de espacio libre? Si es así, ¿cuánto?

Pregunta inspirada en este gif de wikipedia:

ingrese la descripción de la imagen aquí

(Fuente:https://en.wikipedia.org/wiki/Defragmentation#/media/File:FragmentationDefragmentation.gif)

En el gif, los bloques (¿sectores?) se mueven al espacio libre y se reorganizan (desfragmentación).

¿Se requiere espacio libre?

Respuesta1

Del mismo artículo obtuviste el gif:

Para desfragmentar un disco, el software de desfragmentación (también conocido como "desfragmentador") sólo puede mover archivos dentro del espacio libre disponible. Esta es una operación intensiva y no se puede realizar en un sistema de archivos con poco o ningún espacio libre.wikipedia-desfragmentación-mitigación

Windows XP Defrag requiere un 15% de espacio libre en el disco.

Respuesta2

Hay dos opciones para la desfragmentación. Puedes hacerlo de la manera fácil o puedes hacerlo de la buena manera:

  1. Mantenga los datos que se van a mover y desfragmentar completamente en la memoria. Básicamente, tienes que leer archivos completos hasta que liberes suficiente espacio para luego volver a escribir uno en un bloque continuo.

    • La ventaja de esto es que será más rápido y no necesitará almacenamiento adicional en el disco.
  2. Mueva los datos a otra parte del disco y luego muévalos hacia atrás cuando se cree un bloque continuo lo suficientemente grande.

    • de esta manera es mucho más lento ya que los datos deben leerse y escribirse repetidamente en otro lugar.

La opción 1 potencialmente no necesita espacio adicional en el disco, pero también es potencialmente peligrosa.

  • Mientras se leen y eliminan archivos, los datos ya no existen en el disco. En caso de un corte de energía, todos los archivos leídos pero no restaurados en su nueva ubicación se pierden, lo que puede tener efectos catastróficos.
  • No tienes idea del tamaño del búfer que podrías necesitar para leer archivos. Es posible que tengas archivos de varios gigabytes que necesites mover o muchos archivos pequeños. Necesita la capacidad de asignar cantidades potencialmente infinitas de memoria (expandiendo el archivo de página y haciendo fragmentación).peor), o utilizar un porcentaje fijo de memoria. Si tiene un tamaño de búfer fijo, podría cargar (y truncar) parte del archivo para liberar espacio, pero terminará en una posición peor porque podría haberse perdidopartesde archivos en caso de un corte de energía, lo que podría decirse que sería peor que perder el archivo completo.

La opción 2 siempre garantiza que sus datos estén en el disco, especialmente si copia primero yentonceseliminar bloques.

Entonces, sí, para una desfragmentación segura sin la amenaza inminente de una pérdida catastrófica de datos, necesita algo de espacio libre en el disco.

información relacionada