14 abril, 2012

Fragmentación y desfragmentación de un disco duro (HDD)

 

Que es la fragmentación?

Figura 1: Diseño lógico de un plato o disco de un HDD.

La fragmentación de ficheros, son los espacios huecos de memoria de un dispositivo de almacenamiento mecánico-eléctrico, como es un disco duro o HDD (Hard Disk Drive).
Se produce principalmente, por la eliminación de archivos de nuestro disco duro. El sistema operativo junto a un formato de ficheros gestiona estos espacios. Los ficheros se almacenan de forma dividida (fragmentados) y repartidos por diversos clusters del disco duro.
Los clusters (o unidades de asignación y la parte más pequeña de almacenamiento) que son conjuntos contiguos de sectores de pista (los sectores de pista son la parte física más pequeña del disco duro, no de almacenamiento) son espacios contiguos de memoria en la que se almacenan los ficheros, un fichero puede estar almacenado y ocupar el tamaño de uno o varios clusters. El tamaño de este puede variar entre una asignación de 0'5KB a 64KB, aunque esto dependerá del valor del "tamaño de la unidad de asignación" y del formato de ficheros (NTFS o FAT32) que seleccionemos para la asignación de la partición que definamos a la hora de formatear un dispositivo de almacenamiento.

Cuando se crean o eliminan ficheros se crean fragmentadas partes de estos de forma no contigua en el disco, la cual dificulta la rapidez para acceder a ellos, ya que el disco tiene que buscar todos los fragmentos, las partes del fichero, para poder abrir dicho fichero, si estan en zonas distantes y diversas el disco tardará más en mover sus brazos y cabezas. Los archivos eliminados dejan espacios a 0 pero no siempre vacíos, si creamos un fichero este se almacena en nuevos espacios y en espacios donde se almacenaban los ficheros que un pasado elimináramos, esto es por el sistema de ficheros (dependiendo que file system y que OS utilicemos, en ese aspecto ya no voy entrar, ya que lo explicaré de forma general), un valor 0 igualmente es un valor, y un valor vacío es un valor libre en el cual se podría escribir nuevamente en el.


Tamaño de archivos y Tamaño en Disco.


Por poner un ejemplo: Si un archivo tiene un tamaño de 2KB y un cluster de nuestro disco duro tiene un espacio de 10KB, le archivo va ocupar en el disco 10KB aunque realmente ocupa 2KB sobrarían entonces 8KB que no se van a poder rellenar y quedarán desperdiciados. La teoría dice que los sistema operativos y sus sistemas de ficheros ajustan el cluster al tamaño del fichero en el caso de que este sea inferior, pero no es así.

Otro detalle de esto es que el tamaño "comercial" de un disco, cómo te lo venden los fabricantes, cuando lo comprobamos notaremos que nos quitan unos pocos GB dependiendo el tamaño del HDD. Por ejemplo, un disco duro que a la venta está marcado con un tamaño de 500 GB, estos se refieren a 500.000.000 bytes, pero para convertir bytes en megabytes, se divide por 1024 y no por 1000, (es decir por múltiplos binarios y no de diez) y de MB a GB lo mismo entonces sería: 500.000.000 / 1024 / 1024 = 476 GB aprox. Es decir que se pierden 4 GB.
Esto ya lo mencionara en otro artículo donde hablo del Estandar 80000 (Prefijos decimales y binarios del sistema internacional).


Tipos de Fragmentación?


Existen dos tipos de fragmentaciones: fragmentación interna y fragmentación externa.
De forma rápida sería:

Fragmentación interna: Hablaríamos de un cluster y el espacio que sobra hasta complentar el cluster, es espacio vacio y desperdiciado.

Fragmentación externa: Serían los espacios de memoria, clusters enteros, con valor 0 y no vacía, en los cuales ya no se podrían escribir en ellos y quedarían en desuso.



Figura 2: Diferencias entre fragmentación: interna y externa

Que es la desfragmentación?


La desfragmentación, es el proceso inverso a la fragmentación, es decir, antes explicaba que se desperdiciaban espacios de memoria y al eliminarlos muchos de estos espacios quedaban inservibles y desperdiciados. La desfragmentación es el proceso que nos intentará agrupar y ordenar moviendo los fragmentos de los respetivos ficheros y que queden de forma contigua.

Aclaro, que la desfragmentación no optimiza el sistema si no la rapidez de acceso a los ficheros guardados en este.
Cuanto mayor sea nuestra partición o volumen, y modficaciones en los ficheros hiciéramos, mayor será el tiempo de desfragmentación.
Para ahorrarnos tiempo y también mucho es mucho más aconsejable para aprovechar un tanto por ciento más de espacio de almacenamiento en el disco, es crear varias particiones de tamaños proporcionados al espacio total del disco duro, en especial para discos duros de hoy en día que pueden ser de 1'5TB o 2TB.

Hay archvios, como el archivo de paginación (swap) o la memoria de intercambio en Windows, que no se pueden mover o archivos que se estén ejecutando por el sistema operativo que no se podrán reajustar después de una desfragmentación, debido a que están en constante uso.


Es necesario desfragmentar discos/unidades de almacenamiento de estado sólido SSD?


Ahora con la llegada al mercado de los discos SSD (Solid State Drive), los cuales ya no se basan en piezas mecánicas (como el brazo, motor, cabeza lectora, plato de almacenamiento físico, etc...) como lo hacían los HDD, si no que almacenan su contenido en componentes de memorias tipo Flash.

Un SSD puede estar fabricado con diversas arquitecturas, aunque lo más común es que utilicen memorias NAND (de puertas lógicas) para almacenar sus datos en celdas. Hoy en día hay dos tipos para esta forma de almacenamiento: 


SLC (Single-Level Cell): utiliza dos un bit por cada celda de información (0 o 1).


MLC (Multi-Level Cell): utiliza un espacio de dos bits por celda (00, 01, 10 y 11). Dando lugar a la posibilidad de que ocurran mayor cantidad de errores, ya que si se daña/corrompe solo una pequeña parte de la memoria perderemos más datos de almacenamiento.
Con esta información podemos decir que son mejores los SLC, aunque dada su estructura permiten una menor capacidad de almacenamiento y además suelen ser más caros.

Para la desfragmentación de los discos duros (HDD):
Cuando se realiza una desfragmentación es importante: NO modificar/mover/eliminar/ejecutar ningún fichero, así como tener los mínimos servicios iniciados y de más. Aconsejo, hacer a modo "prueba de fallos" (safe mode).

Por ello, estaría bien realizar una desfragmentación durante el arranque del sistema y para esto quiero presentar con una herramienta con la que me tropecé recientemente.

Defraggler es una herramienta gratuíta y completa que forma parte de la entidad Piriform (si algunos recordais, es la misma empresa nos brinda CCleaner). Esta a parte de desfragmentar las diversas particiones que tengamos en nuestro disco y otros discos conectados a nuestro equipo, podremos realizar una desfragmentación durante el arranque del sistema.



Figura 3: Defraggler analizando HDD.

A mayores, nos permite múltiples opciones, listados e informes para conocer en detalle las velocidades de en las que accedemos a ficheros de nuestro y disco, el estado,  y de más características.
Nos permite realizar dos tipos de desfragmentación: rápida y normal (la cual es más larga. pero más precisa).
Otro detalle es que nos permite desfragmentar carpetas y archivos. Y realizar desfragmentaciones programadas.

Otra opción pero más básica sería el propio desfragmentador de Windows 7. Que lo podremos encontrar en: Inicio -> Todos los programas -> Accesorios -> Herramientas del sistema -> Desfragmentador de disco. O también escribiendo: dfrgui en una ventana Ejecutar. (dfrgui.exe se encuentra en el path: Windows\System32).


Figura 4: Desfragmentador de discos por defecto de Windows.

No es tan detallado, como Defraggler ni con tantas características. Pero si dispone de un programador horario para la desfragmentación de los discos. Los principales inconvenientes es que no incorpora un desfragmentador para el arranque del sistema ni siquiera muestra detalles de velocidades ni ningún valor informativo. Esto no significa que desfragmente peor que Defraggler.

Tanto Defraggler como el desfragmentador interno de Windows (dfrgui.exe), son buenos y realizan su trabajo.

Fuente de imágenes (editadas): Wikipedia.org


Saludos!

1 comentario:

  1. Buenas tardes, des fragmente mi disco y al reiniciar mi computadora me apareció uña pantalla en negro y una lista ascendente en el porcentaje de clústers disponibles. Quisiera saber si es normal o que puedo hacer para evitar que se pierda información o se descomponga. Gracias

    ResponderEliminar

Entradas Relacionadas