Un buen sistema de ficheros es aquel que no es necesario desfragmentarlo (Wikipedia), los ficheros intentan ordenarse cada vez que se escriben en disco y no como hacen los sistemas de ficheros de windows, que necesitan desfragmentarse.

Jkdefrag

Últimamente he probado un desfragmentador en mi equipo y en casas de amigos con resultados excelentes de velocidad en el arranque y luego al acceso de aplicaciones se llama jkdefrag (licencia GNU) y lo podéis descargar aquí.

Si quieres saber mas sobre la fragmentación y sistemas de ficheros sigue leyendo. También puedes descargarte este powerpoint que hice hace tiempo

Explicación de la fragmentación

Un fichero llamado noticia.txt tiene un tamaño de 1Kbytes

Pero ese fichero en disco ocupa 4, 8, 16, 32 o 64K todo ello dependiendo del tamaño de asignación mínimo en disco llamado CLUSTER el cual no puede ser compartido por mas de un fichero. Así que dependiendo de ese tamaño pues estas desperdiciando o 3K o 7K o 15K …
Si un fichero es mas grande pues ocupa tantos clústeres como necesite y si en el último clúster le sobra espacio ese espacio se desperdicia.

Así que tenemos dos formas de calcularlo: La mas rápida nos dice el espacio ocupado en disco y en realidad el que da el valor real que es ver cuantos clústeres tenemos ocupados y libres.

La segunda mas tediosa da el espacio usado por los archivos y por lo tanto hay que mirar de los clústeres ocupados cuales están completos y cuales no, que implica una búsqueda completa, por tanto es mucho mas lento.

Coged un directorio de vuestro disco duro que tenga bastantes ficheros y le dais a propiedades, veréis que lo que ocupa en disco siempre sera mayor que el tamaño real del fichero, es decir siempre perdéis espacio.

El problema viene cuando los ficheros son de diferentes tamaños se borran y se escriben constantemente, eso hace que los clústeres no estén contiguos sino que estén repartidos casi de forma aleatoria, a esto se denomina fragmentación que no es mas que la cantidad de partes en las que esta repartido un fichero a lo largo del disco, si esta en varias partes pues leerlo y acceder es mas lento que si estuviese todo seguido. Lo que hacen los programas defragmentadores es poner los ficheros sin fragmentos de forma contigua, aunque lo ideal es hacerlo cada vez que se graba en disco, de esta forma no es necesario defragmentar.

Comparativa de Sistemas de Ficheros

Aquí veis una comparativa que muestra las diferentes velocidades, frente al sistema de ficheros empleado.

Las pruebas las he hecho con el programa Roadkill DiskSpeed en un Windows XP. El disco es un Samsung de 400Gb SATAII…

FAT32

Fat32

NTFS:

NTFS

Evidentemente el NTFS es una mejora importante sobre FAT aunque son mas lentos que el ext3…

Ext3:

ext3

Ext3 es un sistema de ficheros nativo de Linux y no existe en Windows de forma nativa, sino mediante usando programas específicos.