jueves, 25 de octubre de 2012

Diferencias entre FAT, FAT32 y NTFS

En otros Post hemos comentado sobre el concepto de los discos duros. Vamos a ver ahora por qué es necesario darle un formato al disco.
El disco duro, a efectos lógicos, está dividido en sectores. En los primeros discos se utilizaba el sistema CHS (Cabeza, Cilindro, Sector) para direccionar cualquier dato, ya que con estos tres parámetros es posible situar cualquier punto del disco. Este sistema tenia el inconveniente de que era necesario guardar mucha información por punto del disco, lo que hacia que en discos grandes se desperdiciara mucho espacio para guardar esta información.
Posteriormente se creó el sistema LBA (logical block addressing, que es un sistema de direccionamiento lógico de bloques y consiste en dividir el disco entero en sectores y asignarle a cada sector una dirección determinada. Este sistema es el que se utiliza actualmente.
Pero la unidad mínima que utilizan los sistemas operativos no es el sector, sino el cluster, que está formado por varios sectores (la cantidad de estos varía dependiendo del tipo de partición, de la capacidad del disco y del sistema operativo utilizado).
Para poder utilizar un disco duro necesitamos crear una partición lógica en un determinado sistema de archivos y formatear esta partición para crear un indice de situación de los diferentes cluster y los sectores que los forman.
Una vez formateado, la información se va dividiendo en pedacitos para guardar estos en los clusters y así leerlos cuando necesitamos acceder a esta información. Precisamente de esta forma de guardar la información vienen los diferentes sistemas de archivos, ya que dependiendo de este tendremos la posibilidad de manejar tamaños mayores o menores de particiones y de archivos.
Hay que tener el cuenta que la unidad mínima de almacenamiento y de asignación es el cluster, lo que significa que todo el espacio dentro de un cluster que no sea utilizado por información de un determinado archivo se va a desperdiciar, ya que un cluster solo puede contener información de un archivo determinado.
Pues bien, precisamente ese sistema de archivos es el que conocemos como FAT,FAT32 y NTFS. Vamos a ver las principales diferencias que hay entre ellos.
FAT:
Lo que actualmente conocemos por FAT es realmente FAT16. Es el sistema de archivos introducido por Microsoft en 1987 para dar soporte a los archivos de 16bits, no soportados por versiones anteriores de FAT (FAT12).
Este sistema de archivos tiene una serie muy importante de limitaciones, entre las que destacan el límite máximo de la partición en 2Gb (pero es capaz de gestionar archivos de hasta 4Gb), el utilizar cluster de 32Kb o de 64Kb (con el enorme desperdicio de espacio que esto supone) y el no admitir nombres largos de archivos, estando estos limitados al formato 8+3 (ocho dígitos de nombre + tres de extensión).
FAT32:
En 1996, junto con la salida al mercado del Windows 95 OSR2, se introduce el sistema de archivos FAT32, para solucionar en buena parte las deficiencias que presentaba FAT16, pero manteniendo la compatibilidad en modo real con MS-DOS.
Entre estas se encuentra la de superar el límite de 2Gb en las particiones, si bien se mantiene el tamaño máximo de archivo, que es de 4Gb.
Para solucionar este problema, FAT32 utiliza un direccionamiento de cluster de 32bits, lo que en teoría podría permitir manejar particiones cercanas a los 2 TB (Terabytes), pero en la práctica Microsoft limita estas en un primer momento a unos 124Gb, fijando posteriormente el tamaño máximo de una partición en FAT32 en 32Gb. Esto se debe más que nada al una serie de limitaciones del Scandisk de Microsoft, ya que FAT32 puede manejar particiones mayores creadas con programas de otros fabricantes. Un claro ejemplo de esto lo tenemos en los discos externos multimedia, que están formateados en FAT32 a pesar de ser particiones de bastante tamaño (en muchos casos más de 300Gb).
El tamaño del cluster utilizado sigue siendo de 32Kb, lo que sigue significando un importante desperdicio de disco, ya que un archivo de 1Kb (que los hay, y muchos además) están ocupando en realidad 32Kb de disco.
El paso de FAT16 a FAT32 se tenía que realizar en un principio formateando el disco, situación que se mantuvo hasta la salida de
Windows 98, que incorporaba una herramienta para pasar de FAT16 a FAT32 sin necesidad de formatear el disco.
Estos dos formatos, a pesar de sus inconvenientes, tienen una gran ventaja, y es que son accesibles (cuando menos para lectura) por una gran cantidad de sistemas operativos, entre los que destacan Unix, Linux, Mac OS...
Esta compatibilidad es aun mayor en FAT16 que en FAT32.Por poner un ejemplo, aún existen pendrive que se siguen formateando en FAT16.
NTFS:
El sistema de archivos NTFS, o New Technology File System fue introducido a mediados de 1993 en Windows NT 3.1, y utilizado por Microsoft solo en sus sistemas profesionales hasta la salida de Windows XP, que fue el primer sistema operativo de uso doméstico que lo incorporó.
Este sistema de archivos tiene una gran serie de ventajas, incluida la de soportar compresión nativa de ficheros y cifrado (a partir de Windows 2000).
También permite por fin gestionar archivos de más de 4Gb, fijandose el tamaño máximo de estos en unos 16Tb. En cuanto a las particiones, permite un tamaño de hasta 256Tb.
Utiliza cluster de 4Kb (aunque se pueden definir de hasta 512bytes, es decir, 1 sector por cluster). Esto permite un aprovechamiento del disco mucho mayor que en FAT16 o en FAT32, ya que, siguiendo el ejemplo anterior de un fichero de 1Kb, si el tamaño del cluster es de 4Kb estaríamos desperdiciando solo 3Kb, y si el tamaño del cluster fuera de 512bytes, pues utilizaría dos cluster, no existiendo en ese caso ningún desperdicio de espacio (hay que considerar que el FAT32 se desperdiciarían 31Kb por cada archivo de 1Kb que tengamos).
Pero tiene un inconveniente, y es el de que en ese caso se necesita un espacio del disco bastante grande para guardar la información del formato. Hay que pensar que con este sistema, a igualdad de espacio (32Kb), para una partición NTFS basada en cluster de 4Kb tendremos ocho cluster en vez de uno solo. Esto en la practica quiere decir que para un archivo de 32Kb hay que guardar 8 direcciones en vez de una sola, pero un simple vistazo a nuestro disco duro nos permite darnos cuenta de que, a pesar de esta pérdida inicial de espacio, en la práctica tenemos una muy superior capacidad de almacenamiento, ya que el espacio desperdiciado es muchísimo menos.
Linux tiene soporte parcial de escritura y total de lectura para particiones NTFS.
Se puede pasar muy facilmente una partición FAT32 a NTFS sin perdida de datos, pero hay que dejar bien claro un tema: NO es posible pasar de un formato de nivel superior a uno de nivel inferior sin eliminar la partición y volver a crearla. [Pero bueno, ya esto sería para un próximo Post].
Entonces ya que hemos dejado bien claro las diferencias que existen entre los diferentes formatos, y hemos dado respuesta a algunas de las interrogantes de los suscriptores, queda determinado de que: Podemos pasar mediante software de FAT16FAT32 y de este a NTFS sin pérdida de información (teniendo en cuenta siempre los riesgos que un cambio de formato de partición implican), pero no a la inversa.
..Siempre a favor y en busca  del conocimiento....


No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...