Sistema de Archivos FAT

7 11 2008

FAT – Tabla de Asignación de Archivos, en inglés (File Allocation Table)

Es un sistema de archivos desarrollado para MS-DOS, así como el sistema de archivos principal de las ediciones no empresariales de Microsoft Windows hasta Windows Me.  Es relativamente sencillo y es un formato popular para disquetes.  Además se utiliza en tarjetas de memoria y otros dispositivos similares.

Cuando se borran y se escriben nuevos archivos tiende a dejar fragmentos dispersos de estos por todo el soporte. Con el tiempo, esto hace que el proceso de lectura o escritura sea cada vez más lento. La denominada desfragmentación es la solución a esto, pero es un proceso largo que debe repetirse regularmente para mantener el sistema de archivos en perfectas condiciones.

El sistema de archivos FAT se compone de cuatro secciones:

  1. 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.
  2. La región FAT. Contiene dos copias de la tabla de asignación de archivos (por motivos de seguridad). Esto son mapas de la partición, indicando qué clusters están ocupados por los archivos.
  3. La región del directorio raíz. Es el índice principal de carpetas y archivos.
  4. 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.
  • FAT12

La versión inicial de FAT se conoce ahora como FAT12. Es un 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

En 1987 apareció lo que hoy se conoce como el formato FAT16. Se eliminó el contador de sectores de 16 bits. El tamaño de la partición ahora estaba limitado por la cuenta de sectores por clúster, que era de 8 bits. Esto obligaba a usar clusters de 32 Kbytes con los usuales 512 bytes por sector. Así que el límite definitivo de FAT16 se situó en los 2 gigabytes.

Esta mejora estuvo disponible en 1988 gracias a MS-DOS 4.0. Mucho más tarde, Windows NT aumentó el tamaño máximo del cluster a 64 kilobytes gracias al «truco» de considerar la cuenta de clusters como un entero sin signo. No obstante, el formato resultante no era compatible con otras implementaciones de la época, y además, generaba mucha fragmentación interna (se ocupaban clusters enteros aunque solamente se precisaran unos pocos bytes). Windows 98 fue compatible con esta extensión en lo referente a lectura y escritura. Sin embargo, sus utilidades de disco no eran capaces de trabajar con ella.

  • FAT32

FAT32 fue la respuesta para superar el límite de tamaño de FAT16 al mismo tiempo que se mantenía la compatibilidad con MS-DOS en modo real. Microsoft decidió implementar una nueva generación de FAT utilizando direcciones de cluster de 32 bits (aunque sólo 28 de esos bits se utilizaban realmente).

En teoría, esto debería permitir aproximadamente 268.435.538 clusters, arrojando tamaños de almacenamiento cercanos a los dos terabytes. Sin embargo, debido a limitaciones en la utilidad ScanDisk de Microsoft, no se permite que FAT32 crezca más allá de 4.177.920 clusters por partición (es decir, unos 124 gigabytes). Posteriormente, Windows 2000 y XP situaron el límite de FAT32 en los 32 gigabytes. Microsoft afirma que es una decisión de diseño, sin embargo, es capaz de leer particiones mayores creadas por otros medios.

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, 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.

Si deseas ver más información puedes ver este lanzador: http://es.wikipedia.org/wiki/FAT

Fuente: Wikipedia


Acciones

Information

Un comentario

25 10 2011
Javier Longares

Hola,
Enhorabuena por una presentación tan completa a alto nivel de los sistemas de archivos FAT. Casualmente acabo de escribir en mi blog un artículo de similar temática, pero abordando el tema desde un nivel más bajo, yendo byte a byte en los sectores del disco. Si os interesa lo podéis encontrar aquí http://www.javierlongares.com/arte-en-8-bits/sistemas-de-archivos-fat16-fat32-para-las-tarjetas-sd-mmc/
Saludos

Replica a Javier Longares Cancelar la respuesta