x
1

FAT16



Tabla de asignación de archivos, comúnmente conocido como FAT (del 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.

FAT es relativamente sencillo. A causa de ello, es un formato popular para disquetes admitido prácticamente por todos los sistemas operativos existentes para computadora personal. Se utiliza como mecanismo de intercambio de datos entre sistemas operativos distintos que coexisten en la misma computadora, lo que se conoce como entorno multiarranque. También se utiliza en tarjetas de memoria y dispositivos similares.

Las implementaciones más extendidas de FAT tienen algunas desventajas. 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. FAT tampoco fue diseñado para ser redundante ante fallos. Inicialmente solamente soportaba nombres cortos de archivo: ocho caracteres para el nombre más tres para la extensión.

El sistema de archivos FAT fue creado por Mac basado en una serie de conversaciones entre Mac y Bill Gates. 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.

En aquella época, el habitual disquete (5,25 pulgadas en una sola cara) constaba de 40 pistas con 8 sectores por pista, resultando en una capacidad inferior a 160 kilobytes. Este límite excedía la capacidad en más de un orden de magnitud, y al mismo tiempo, permitía encajar todas las estructuras de control en la primera pista. Por tanto, se evitaba el movimiento de los cabezales en las operaciones de lectura y escritura. Estos límites fueron superados en los años posteriores.

Con el propósito de soportar el reciente IBM PC, que disponía de un disco duro de 10 megabytes, MS-DOS 2.0, y carpetas anidadas, simplemente se utilizaron clusters de 8 kilobytes en el disco duro. El formato de FAT en sí mismo no cambió.

En 1984, IBM lanzó el PC AT, con 20 megabytes de disco duro. Al mismo tiempo, Microsoft lanzó MS-DOS 3.0. Las direcciones de los cluster fueron ampliadas a 16 bits, permitiendo un número mayor de clusters (65.536 exactamente de archivos). A pesar de todo, no hubo mejoras en el límite máximo de 32 megabytes.

MS-DOS 3.0 también incorporó soporte a disquetes de alta densidad de 5,25 pulgadas (1,2 megabytes de capacidad), con 15 sectores por pista, y en consecuencia, más espacio para FAT. Esto probablemente forzó una dudosa optimización del tamaño del clúster, que bajó de dos sectores a solo uno. El efecto global fue una reducción significativa de los tiempos de lectura y escritura frente a los disquetes de doble densidad.


Estructura de la FAT12 en un disquete de 1,44M:

En 1987 apareció lo que hoy se conoce como «el formato FAT 16». 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 KiB con los usuales 512 bytes por sector. Así que el límite definitivo de FAT16 se situó en los 4 (2GiB por clúster) GiB.

Esta mejora estuvo disponible en 1988. Mucho más tarde, Windows NT 4.0(1998) y Windows XP (2001) aumentaron el tamaño máximo del cluster a 64 kilobytes pudiendo crear particiones de hasta 4 GB. No obstante, el formato resultante no era compatible con otras implementaciones de la época, y además, generaba más 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.

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 este estaba habilitado por defecto en Windows 95.

Uno de los objetivos de los diseñadores de Windows 95 fue el uso de nombres más largos para los archivos. Se implementó sobre FAT utilizando un truco en el modo de almacenar los índices de los directorios. Esta implementación también se conoce como VFAT por culpa del controlador de Windows 95 que lo incorporó por primera vez. Los nombres largos también se soportaron en Windows NT a partir de la versión 3.5.

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 solo 28 de esos bits se utilizaban realmente).



Escribe un comentario o lo que quieras sobre FAT16 (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!