El primer sistema de archivos utilizado en un sistema operativo de Microsoft fue el sistema FAT, que utiliza una tabla de asignación de archivos. Esta tabla es en realidad un índice que crea una lista de contenidos del disco para registrar la ubicación de los archivos en el disco. Dado que los bloques que componen un archivo no siempre se almacenan de forma contigua en el disco (un fenómeno llamado fragmentación), la tabla de asignación permite mantener la estructura del sistema de archivos creando enlaces a los bloques que componen el archivo.
El sistema de archivos FAT16
El sistema FAT es un sistema de 16 bits que permite identificar los archivos con un nombre que consta de hasta 8 caracteres y una extensión de 3 caracteres, esta es la razón por la que el sistema se llama FAT16.
Las direcciones de clúster no pueden ser mayores de 16 bits. Por lo tanto, el número máximo de clústeres a los que se puede hacer referencia con el sistema FAT es de 216 (65536) clústeres. Dado que un clúster consiste en un número fijo (4,8,16,32, …) de sectores de 512 bytes contiguos, el tamaño máximo de la partición FAT se puede determinar multiplicando el número de racimos por el tamaño de un racimo. Con clústeres de 32 Kb, el tamaño máximo de una partición FAT es, por lo tanto, de 2 GB.
Además, un archivo solo puede ocupar un número integral de clústeres, lo que significa que si un archivo ocupa varios clústeres, el último clúster solo estará parcialmente ocupado y el espacio desocupado será inutilizable. Como resultado, cuanto más pequeño sea el tamaño del clúster, menos espacio desperdiciado. Se estima que un archivo desperdicia, en promedio, la mitad de un clúster, lo que significa que en una partición de 2 GB, se perderán 16 KB por archivo.
La tabla de asignación de archivos
La Tabla de asignación de archivos es una lista de valores digitales que describe la asignación de los clústeres de una partición. En otras palabras, el estado de cada clúster de la partición en la que se encuentra. De hecho, cada celda de la tabla de asignación corresponde a un clúster.
Cada celda contiene un número que indica si un archivo utiliza el clúster y la ubicación del siguiente clúster en el archivo. Finalmente, se termina con una cadena FAT, una lista de referencias enlazadas que apuntan a los clústeres sucesivos hasta el final del archivo. Cada entrada de GRASA tiene 16 o 32 bits de largo (dependiendo de si es FAT16 o FAT32).
Las dos primeras entradas almacenan información sobre la propia tabla, mientras que las siguientes entradas hacen referencia a los clústeres. Algunas entradas pueden contener valores que indican el estado del clúster específico.
Por ejemplo, el valor 0000 indica que el clúster no se utiliza, FFF7 marca un clúster defectuoso (para que no se utilice) y los valores entre FFF8 y FFFF especifican que el clúster contiene el final de un archivo. Cada partición en realidad contiene dos copias de la tabla almacenadas de forma contigua en el disco, de modo que se puede recuperar si la primera copia se daña.
El sistema de archivos FAT32
Aunque VFAT era un sistema inteligente, no abordaba las limitaciones de FAT16. Como resultado, un nuevo sistema de archivos (y no solo una mejor gestión de FAT como fue el caso de VFAT) apareció con Windows 95 OSR2. Este sistema de archivos, llamado FAT32, utiliza valores de 32 bits para las entradas FAT. De hecho, solo se utilizan 28 bits, ya que 4 bits están reservados para uso futuro.
Con la aparición del sistema de archivos FAT32, el número máximo de clústeres por partición aumentó de 65535 a 268,435,455 (228-1). Por lo tanto, FAT32 permite particiones mucho más grandes (hasta 8 Terabytes). Aunque el tamaño teórico máximo de una partición FAT32 es de 8 TB, Microsoft la ha limitado voluntariamente a 32 GB en sistemas Windows 9x para promover NTFS.
Dado que una partición FAT32 puede contener muchos más clústeres que una partición FAT16, es posible reducir significativamente el tamaño de los clústeres y, por lo tanto, limitar el espacio en disco desperdiciado. Por ejemplo, con una partición de 2 GB, es posible usar clústeres de 4 KB con el sistema FAT32 (en lugar de clústeres de 32 KB con FAT16), lo que reduce el espacio desperdiciado en un factor de 8.
¿Sistema de archivos FAT16 o FAT32?
Como el número de clústeres es limitado, el tamaño máximo de una partición depende del tamaño de cada clúster. Echemos un vistazo al tamaño máximo de partición de acuerdo con el tamaño del clúster y el sistema de archivos utilizado:
Cluster size | FAT16 file system | FAT32 file system (theoretical) |
---|---|---|
512 bytes | 32 MB | 64 MB |
1 KB | 64 MB | 128 MB |
2 KB | 128 MB | 256 MB |
4 KB | 256 MB | 8 GB (1 TB) |
8 KB | 512 MB | 16 GB (2 TB) |
16 KB | 1 GB | 32 GB (4 TB) |
32 KB | 2 GB | 2 GB (8 TB) |
Al formatear un disco duro, es posible que deba decidir cuidadosamente qué tipo de sistema de archivos va a usar y seleccionar el que proporcione una cantidad de espacio disponible lo más cercana posible al tamaño deseado.