La diferencia que existe entre FAT32 y FAT16 es en cuánto espacio puede manejar eficientemente cada uno de ellos. El problema radica en que cada cluster puede guardar solamente un archivo. Esto significa que cada grupo puede solamente manejar un item a la vez.
Es como si tuviéramos los 50 clusters que decíamos antes, Si damos un byte a cada cluster, el mismo no aceptará ninguno más, ya que ya está ocupado. Aunque le digamos que está desperdiciando una cantidad de espacio, el mismo se rehusará a guardar nada más, porque solo puede guardar una cosa (archivo) a la vez. Y no habrá nada que hacer para remediar esta situación.
Para calcular el tamaño del cluster, podremos hacer:
Tamaño del Cluster= Capacidad del Disco/Número posible de clusters.
Y ya que el tamaño del cluster es directamente proporcional al espacio desperdiciado (en otras palabras, cuando crece el tamaño del cluster, el desperdicio aumenta), podemos notar que queremos un sistema de archivos que pueda manejar una gran cantidad de clusters. Y es aquí en donde se diferencian el FAT32 y el FAT16.
El FAT 32 es capaz de manejar una mucha mayor cantidad de clusters.
El FAT16 usa 16 bits para contar los clusters. Es decir lo máximo que puede contar es hasta 2^16 - 1 , es decir, hasta 65535. Es decir, lo máximo que pueden caber son 65535 clusters. Por eso, a medida que aumenta el tamaño de tu disco duro, aumentará también el tamaño de los clusters, ya que el número máximo es el citado..
También cada sector dentro de un grupo(cluster) debe ser numerado. Cada sector tiene un número de índice que está en un bite (es decir, 8 bits). Pero se utilizan solamente siete de estos bits, por lo tanto, el número máximo de sectores en cada cluster es de 128.
Calculando, tendremos:
Un máximo de 65535 clusters
Un máximo de 128 sectores por cluster
512 bytes por sector.
Entonces, el tamaño máximo de FAT16 es = 65535 * 128 * 512 = 4 GB
Pero si consideramos que 128 * 512 bytes es 64K, para lo cual necesitamos más que 16 bits, entonces tendremos que utilizar este tope, es decir, sacar un bit a esta suma, resultando portanto en 32KB como máximo para cada cluster.
Así, recalculando, tenemos:
Tamaño máximo en FAT16= 65535 * 32KB = 2 GB.
El FAT 32 resuelve este problema, ya que aumenta el límite máximo de clusters que puede manejar, usando 32 bits.
Pero, ¿Qué es el FAT? El FAT (File Allocation Table, en inglés, o Tabla de Localización de Archivos) es una gran base de datos que contiene los registros de en dónde se encuentran cada uno de los archivos en el disco. Es como una tabla con muchas columnas cada una de las cuales guarda algo acerca de los archivos en el disco. Cada registro en la FAT tiene un tamaño de 32 bytes. En otras palabras, si tengo 100 archivos en la computadora, 100 x 32bytes, es decir 3200 bytes del disco guardarán información de estos archivos en la FAT.
En estos 32 bytes tenemos:
Del 1 al 8: Nombre del archivo.
Del 9 al 11: Extensión del archivo.
El byte 12: Atributos del archivo (es decir, si es de solo lectura, oculto, etc.)
Del 13 al 22: Reservados para uso futuro.
Del 23 al 24: Hora en que fue grabado.
Del 25 al 26: Cluster de inicio.
Del 29 al 32: Tamaño del archivo.
Para cada archivo, hay un campo en la FAT que indica el primer cluster en que se encuentra el archivo El sistema leerá la entrada en la FAT y entonces encontrará el cluster de inicio, y leerá el archivo. ¿Cómo sabe en dónde se encuentra el próximo cluster que contiene este archivo? En cada cluster se encuentra la información de en cuál cluster se encuentra el próximo "pedazo" de este archivo. Entonces, la computadora lee el cluster actual y chequea para ver si hay otros clusters después de él. Si es así, va al próximo cluster, y chequea por el siguiente, repitiéndose esto hasta que encuentre un cluster que le avise que es el final del archivo.
Otra característica interesante de esta tabla es que cada registro de la FAT usa 4 bytes para el tamaño del archivo. Con cuatro bytes, tenemos que el tamaño máximo de un archivo será de 2^32 -1 bytes, o 4 Gigabytes. Esto será válido, claro, si estamos usando FAT32, porque con FAT16, el disco entero puede tener como máximo 2 Gigas.
Otra cosa interesante con los bytes de reserva, es que los mismos no se usan en el FAT16, pero sí en el FAT 32 y en el NTFS.
En el caso del FAT32, para alcanzar a enumerar todos los clusters, se necesitan 2 bytes adicionales (para usar 32 bits en total). Estos dos bytes se toman de los reservados.
Y para el sistema NTFS, por los atributos de compresión que el mismo posee, alguna información de seguridad fue escrita en los bytes de reserva.
Otras diferencias entre ellos son:
En la FAT32, el directorio raiz tiene tamaño ilimitado. Esto significa que pueden haber cualquier cantidad de archivos en el directorio raiz. En la FAT16, el máximo era de 255 archivos en la raiz.Si se utiliza el Windows 95 con FAT16, esto puede traer problemas, ya que para soportar nombres largos de archivos, debe ocupar más de una entrada en el directorio, ya que guarda un nombre normal (tipo DOS), y otro nombre extendido (nombre largo).
La FAT32 tiene un sistema de redundancia mejor. Ambos sistemas guardan dos copias de la FAT en el disco. Pero en la FAT32 el sistema puede elegir leer de cualquiera de ellas, lo que da mayor tolerancia a fallar que podrían ocurrir por tablas corrompidas.
Se puede notar que FAT32 es superior a FAT16. Pero la FAT32 no es soportada por todos los sistemas operativos. Solo fue soportada desde la versión 2 del Windows 95. Y todas las versiones anteriores de Windows NT (inclusive la versión 4.0) no pueden leer este sistema.
El sistema de archivos NTFS (New Technology File System)
Es el sistema de archivos propietario de Windows NT. Aunque FAT32 es un sistema de archivos bastante interesante, no tiene características avanzadas que se necesitan en aplicaciones de alto rendimiento, sobre todo en redes. Por ejemplo, niveles de seguridad a nivel de archivo, encriptado, manejo de eventos, recuperación de errores y compresión. El sistema de archivos NTFS provee todas estas características.
Seguridad a nivel de permisos de acceso a archivos:
El NTFS tiene niveles de "permisos", con los cuales se pueden controlar qué usuarios en la red pueden acceder a qué tipo de archivos. Es decir, un usuario no podrá acceder a los archivos que pertenecen a otro usuario, si es que no está autorizado, ya que están llaveados a nivel de archivo.
Compresión:
Trabaja transparentemente, como el DriveSpace, pero puede ser asignado individualmente a archivos, o hasta por directorios. En el W9x, solo se puede hacer con la unidad entera.
Encriptado:
Con el sistema EFS, se puede realmente encriptar un archivo, más que protegerlo Esto es muy útil, ya que otros sistemas de archivos son capaces de leer al NTFS, pasando por encima de sus características de permisos, por ej. el BeOS o el Linux. Pero, si un archivo está encriptado, no será posible leerlo. Todo el sistema de encriptado es transparente para el usuario..
Auditoría de archivos:
Cuando no es suficiente la protección contra intrusos, existe el sistema de Auditoría de Archivos (archivo de eventos), con el cual se puede rastrear las veces que un determinado archivo fue accedido, o se hicieron intentos, qué operaciones se hicieron, etc.)
Recuperación de Datos:
Cada operación de Entrada/Salida que modifica un archivo en el NTFS es visto como una transacción, y puede ser manejada como una unidad dividida. Cuando un usuario actualiza un archivo, se guarda y monitorea toda la información de deshacer y hacer. Solo si todas las operaciones son exitosas es que los cambios son hechos físicamente en el disco. Si algo falla, el sistema utiliza la característica de deshacer, para volver al punto anterior al problema.
Si el Windows NT se colgara, el NTFS hace tres pasadas antes de rearrancar. Primero, hace un análisis que determina exactamente cuáles clusters deben ser actualizados., por la información que hay en el archivo de eventos. Luego pasa a la fase en la cual efectua todas las transacciones hasta el último chequeo, y por último efectúa la fase de deshacer, en la cual completa todas las transacciones que así lo requieran. Esto hace que los datos corruptos se reduzcan a un mínimo.
También va aumentando la popularidad del EXT2, sistema de archivos utilizado por el Linux. El mismo posee características similares de robustez y seguridad que el NTFS