Tabla de asignación de archivos
|
Tabla de asignación de archivos, conocida como FAT (File Allocation Table). Parte del sistema de archivos del DOS y OS/2 que lleva un seguimiento de la ubicación de los datos almacenados en un disco duro. Cuando el disco se formatea a alto nivel, el FAT se registra dos veces y contiene una tabla con una entrada para cada cluster (conglomerado) en disco duro. Cada entrada FAT tiene una extensión de 16 ó 32 bits (todo depende de si es una entrada FAT16 o FAT32).
La lista de directorios, que contiene el nombre del archivo, extensión, fecha, etc., apunta a la entrada del FAT donde comienza el archivo. Si un archivo es más grande que un cluster, la primera entrada del FAT apunta a la siguiente entrada del mismo donde se encuentra almacenado el segundo cluster del archivo, y así sucesivamente hasta el fin del archivo. Si un cluster se daña, su entrada FAT se marca como tal y ese cluster no se usa nuevamente.
Sumario
Historia.
FAT fue creado por Bill Gates y Marc McDonald en 1977 con el objeto de manejar discos en BASIC. Fue incorporado por primera vez en el sistema operativo QDOS por Tim Paterson en agosto de 1980, para los computadores S-100 de arquitectura Intel 8086. Este sistema de archivos fue la principal diferencia entre QDOS y CP/M.
Tabla de Asignación de Archivos.
FAT12 |
FAT16 |
FAT32 | |
Desarrollador |
Microsoft | ||
Nombre completo |
Tabla de Asignación de Archivos | ||
(versión de 12 bits) |
(versión de 16 bits) |
(versión de 32 bits) | |
Introducido |
1977 (Microsoft Disk BASIC) |
Julio de 1988 (MS-DOS 4.0) |
Agosto de 1996 (Windows 95 OSR2) |
Identificador de partición |
0x01 (MBR) |
0x04, 0x06, 0x0E (MBR) |
0x0B, 0x0C (MBR) EBD0A0A2-B9E5-4433 -87C0-68B6B72699C7 (GPT) |
Estructuras |
FAT12 |
FAT16 |
FAT32 |
Contenido de carpeta |
Tabla | ||
Ubicación de archivo |
Lista enlazada | ||
Bloques defectuosos |
Lista enlazada | ||
Límites |
FAT12 |
FAT16 |
FAT32 |
Tamaño máximo de archivo |
32 MB |
2 GB |
4 GB |
Número máximo de archivos |
4.077 |
65.517 |
268.435.437 |
Longitud máxima del nombre de archivo |
8.3 (11) o 255 caracteres cuando se usan LFNs (Long File Names) | ||
Tamaño máximo del volumen |
2 MB |
2 GB |
2 TB |
Características |
FAT12 |
FAT16 |
FAT32 |
Fechas almacenadas |
Creación, modificación, acceso | ||
Rango de fechas soportado |
1 de enero de 1980 - 31 de diciembre de 2107 | ||
Metadatos |
No de modo nativo | ||
Atributos |
Sólo lectura, oculto, sistema, archivo, nombre del volumen | ||
Permisos |
No | ||
Compresión transparente |
Por volumen, Stacker, DoubleSpace, DriveSpace |
No | |
Cifrado transparente |
Por volumen sólo con DR-DOS |
No |
FAT12.
Sistema de archivos para disquete, por lo que tiene varias limitaciones:
- No soporta anidación de carpeta.
- Las direcciones de bloque solamente contienen 12 bits. Esto complica la implementación.
- El tamaño del disco se almacena como una cuenta de 16 bits expresada en sectores, lo que limita el espacio manejable a 32 megabytes.
FAT16.
Actualmente el sistema FAT32 ha desplazado por completo al antiguo sistema de archivos FAT16. Esta nueva versión permite crear volúmenes de hasta 2 TB, frente a los 2 GB a los que limita FAT16. Este último sistema desperdiciaba clusters, de modo que si el sistema debía guardar archivos de, por ejemplo 2 KB, desaprovechaba al hacerlo todo un clúster de 32KB. Con el sistema FAT32 utilizaría un clúster de 4 KB, con lo cual ahorra recursos del sistema. Además se consigue un ligero aumento en la capacidad del disco duro.
Desventajas de FAT16.
- El sistema de archivos FAT16 no tiene seguridad local para el sistema de archivos o características de compresión.
- El sector de arranque no está respaldada.
- La carpeta raíz sólo puede tener un máximo de 512 entradas, lo que significa que los archivos que tienen nombres largos, puede disminuir enormemente el número de entradas disponibles.
- FAT16 no funciona bien con tamaños de volumen que son grandes.
FAT32.
Apareció por primera vez en Windows 95 OSR2. Era necesario reformatear para usar las ventajas de FAT32. Curiosamente, DriveSpace 3 (incluido con Windows 95 y 98) no lo soportaba. Windows 98 incorporó una herramienta para convertir de FAT16 a FAT32 sin pérdida de los datos. Este soporte no estuvo disponible en la línea empresarial hasta Windows 2000.
El tamaño máximo de un archivo en FAT32 es 4 gigabytes (232−1 bytes), lo que resulta engorroso para aplicaciones de captura y edición de video, ya que los archivos generados por éstas superan fácilmente ese límite.
VFAT y FASTFAT.
Windows 3.11 introdujo un nuevo esquema de acceso a los sistemas de archivos, usando el modo protegido de 32 bits (presente en los Intel 386 y posteriores) esquivando el núcleo de MS-DOS. Para ello, usaba directamente el BIOS o el hardware de la unidad de disco. Esto también permitía utilizar una caché, acelerando el acceso. Todo esto se denominó VFAT o FAT virtual.
Windows NT 3.1 proporcionaba la misma aproximación, pero denominándolo FASTFAT. Sin embargo, era natural que los controladores de Windows NT utilizasen el modo protegido de 32 bits. A menudo se confunde con el soporte LFN (nombres largos de archivo) ya que éste estaba habilitado por defecto en Windows 95.
Estructura FAT.
El sistema de archivos FAT se compone de cuatro secciones:
- La región del directorio raíz. Es el índice principal de carpetas y archivos.
- El sector de arranque. Siempre es el primer sector de la partición (volumen) e incluye información básica, punteros a las demás secciones, y la dirección de la rutina de arranque del sistema operativo.
- La región FAT. Contiene dos copias de la tabla de asignación de archivos (por motivos de seguridad). Estos son mapas de la partición, indicando qué clusters están ocupados por los archivos.
- La región de datos. Es el lugar donde se almacena el contenido de archivos y carpetas. Por tanto, ocupa casi toda la partición. El tamaño de cualquier archivo o carpeta puede ser ampliado siempre que queden suficientes clusters libres. Cada cluster está enlazado con el siguiente mediante un puntero. Si un determinado cluster no se ocupa por completo, su espacio remanente se desperdicia.
Referencias.
- Duncan, Roy (1989). Design goals and implementation of the new High Performance File System. Microsoft Systems Journal 4 (5). (en inglés)