FAT16 Y FAT32

Arquitectura de la FAT
Durante un formato y configuración de un sistema de archivos de un volumen en un disco duro, se crea un registro maestro de arranque (MBR). El MBR contiene una pequeña cantidad de código ejecutable llamado código de arranque maestro, así como una tabla de particiones del disco. Cuando se monta un volumen, el MBR se ejecuta con el código de arranque maestro y transfiere el control al sector de arranque del disco, permitiendo que  se inicie el sistema operativo en el sistema de archivos de ese volumen especifico. (La tabla de particiones contiene un número de campos que se utilizan para escribir la partición. Uno de estos campos es el campo de ID del sistema, que define el sistema de archivos, como FAT, en la partición. Para volúmenes FAT16, el ID del sistema es 0x04; para volúmenes FAT32, el ID del sistema es 0x0B).
La siguiente figura muestra la arquitectura de este proceso.
Arquitectura FAT
















En la siguiente tabla se describen los componentes del sistema de archivos FAT.
Componentes FAT
Componentes
Descripción
Disco Duro
Contiene una o más particiones
Arranque Sector
Partición de arranque que almacena información acerca de la disposición del volumen y la estructura del sistema de archivos, así como el códigode arran que que carga Ntdlr.
Registro de inicio maestro
Contiene código ejecutable que carga el BIOS del sistema en la memoria. El código escanea MBR para encontrar la tabla de particiones para determinar cuál es la partición activa o de arranque, partición.
Ntdlr.dll
Cambia la CPU a modo protegido, se inicia el sistema de archivos y, a continuación, lee el contenido del archivo Boot.ini. Esta información determina las opciones de inicio y las selecciones iniciales del menú de arranque.
FastFat.sys
Controlador de sistema de archivos de FAT16 y FAT32
Ntoskrnl.exe
Extrae información sobre los controladores de dispositivos de sistema para cargar y el orden de carga
Modo Kernel
el modo de procesamiento que permite que el código tenga acceso directo a todo hardware y la memoria del sistema
Modo de usuario
El modo de procesamiento en el que las aplicaciones se ejecutan.

Estructura física FAT
La siguiente información describe la estructura física del sistema de archivos FAT, e incluye información sobre cómo afectan a las agrupaciones del sistema de archivos FAT, así como descripciones de la tabla de particiones.
Clústeres y sectores en un volumen FAT
Un clúster (o unidad de asignación) es la menor cantidad de espacio en disco que se puede asignar para contener un archivo. Todos los sistemas de archivos utilizados por Windows organizan discos duros basados en el tamaño del clúster, que está determinada por el número de sectores (unidades de almacenamiento en un disco duro) que contiene el cluster. Por ejemplo, en un disco que utiliza sectores de 512 bytes, un grupo de 512 bytes contiene un sector, mientras que un grupo 4-kilobytes (KB) contiene ocho sectores.
La computadora tiene acceso a determinado sector del disco duro durante el inicio para determinar qué sistema operativo iniciar y donde se encuentran las particiones.
Secuencia de Clusters en un Volumen FAT
Las agrupaciones se enumeran secuencialmente desde el principio de la partición en el número de racimos lógicos. Los grupos de datos del sistema de archivos FAT se encuentran después de los bloques de parámetros del Bios.
Limitaciones de tamaños de clúster en un volumen FAT
Debido que FAT16 y FAT32 utilizan diferentes tamaños de grupo en función del tamaño del volumen, cada sistema de archivos tiene un número máximo de grupos que puede soportar. Cuanto menor sea el tamaño del clúster será más eficiente la manera de almacenar información porque el espacio no utilizado dentro de un cluster no puede ser utilizado por otros archivos.
El tamaño de cada grupo es un múltiplo del tamaño del sector. Los números en los nombres, FAT16 y FAT32 se refieren al número de bits necesarios para una entrada de la tabla de asignación de archivos de la siguiente manera:
  •   FAT16 utiliza una entrada de la tabla de asignación de archivos de 16 bits (216 grupos)
  • FAT32 utiliza una entrada de la tabla de asignación de archivos de 32 bits. Sin embargo, FAT32 se reserva los primeros 4 bits de una entrada de la tabla de asignación de archivos FAT32, lo que significa FAT32 tiene un máximo teórico de 228 clusters.
  •    Los discos flexibles siempre tienen el formato FAT.
La siguiente tabla proporciona una comparación de FAT16 y FAT32 volumen y tamaños predeterminados de cluster.
Tamaño del volumen
FAT16 tamaño del cluster
FAT32 tamaño del cluster
7 megabytes (MB)-16MB
2 KB
No compatible
17 MB-32MB
512 bytes
No compatible
33MB -64MB
1KB
512bytes
65MB-128MB
2KB
1KB
129MB,256MB
4KB
2KB
257MB-512MB
8KB
4KB
512MB-1.024MB
16KB
4KB
1025MB-2gigabytes (GB)
32KB
4KB
2GB,4GB
64KB
4KB
4GB,8GB
No compatible
4KB
8GB,16GB
No compatible
8KB
16GB, 32GB
No compatible
16KB
32GB-2terabytes
No compatible
No compatible

Tamaños máximos de volúmenes FAT
Antes de formatear un volumen, se pueden evaluar los tipos de archivos que se almacenan en el volumen para que pueda determinar si desea utilizar el tamaño de cluster predeterminado. Si formatea un volumen, pero no especifica un tamaño de cluster, se utilizan los valores predeterminados. Si desea cambiar el tamaño del cluster después de formatear el volumen, debe volver a formatear el volumen.
FAT16 y FAT32 tienen las siguientes limitaciones de tamaño:

  •  Volúmenes FAT pequeña que 16 MB se formatea como FAT12
  •  Volúmenes FAT16 mayores de 2 GB no son accesibles desde equipos con otros sistemas operativos MS-DOS, Windows 95, Windows 98, Windows Millennium Edition (Me). Esta limitación se debe a que estos sistemas operativos no son compatibles con tamaños de cluster mayores de 32 KB, lo que resulta en límite de 2 GB.
  •  En teoría, los volúmenes FAT32 pueden ser alrededor de 8 terabytes, pero el tamaño máximo del volumen FAT32 que Windows puede dar formato es de 32 GB. Por lo tanto, debe utilizar NTFS para formatear volúmenes mayores de 32 GB. Sin embargo, Windows puede leer y escribir en grandes volúmenes FAT32 formateado con otros sistemas operativos.

FAT16 límites de tamaño
Descripción
Limite
Tamaño máximo de archivo
Probado: 4GB menos de 1 byte (2 32 bytes menos 1 byte
Tamaño máximo de volumen
Probado con 4 GB
Archivo por volumen
Aproximadamente 65.536 (2 16 archivos)
Número máximo de archivo y carpetas dentro de la carpeta raíz
512 (nombre de archivo largos pueden reducir el número de archivos y carpetas disponibles en la carpeta raíz)

Límites de tamaño de FAT32
Descripción
Limite
Tamaño máximo de archivo
Probado: 4GB menos de 1 byte (2 32 bytes menos 1 byte
Tamaño máximo de volumen
Probado: 32 GB (implementación)
Archivo por volumen
4177920
Número máximo de archivo y carpetas dentro de la carpeta raíz
65534 (el uso del nombre de archivo largos puede reducir significadamente el número de archivos y subcarpetas disponibles de la carpeta

Organización de un volumen FAT
Un volumen formateado con FAT se organiza como se ilustra en la siguiente figura.

Componentes volumen FAT
Componente
Descripción
Arrancar sector
Contiene el bloque de parámetros del BIOS que almacena información acerca de la disposición del volumen y las estructuras del sistema de archivos, así como el código de arranque que carga windows
Sectores reservados
El número de sectores que preceden al inicio de la primera FAT, incluyendo el sector de arranque.
FAT 1
FAT original
FAT 2 (duplicar)
Copia de seguridad de la FAT
Carpeta raíz
Describe los archivos y carpetas en la raiz de la partición
Otras carpetas y todos los archivos
Contiene los datos de los archivos y carpetas del sistema de archivos.

Sectores de Arranque MBR
En los discos MBR (discos que contienen registro de inicio maestro), el sector de arranque, que se encuentra en el primer sector lógico de cada partición, es una estructura de disco fundamental para iniciar el equipo. Contiene código ejecutable y los datos requeridos por el código, incluida la información que el sistema de archivos utiliza para acceder al volumen. El sector de arranque se crea cuando se formatea un volumen. Al final del sector de arranque es una estructura de 2 byte de llamada una palabra de firma o al final de la marca de sector, que siempre se establece en 0x55AA.
Un sector de arranque se compone de los siguientes elementos:

  •  Una instrucción de salto CPU x86
  •  La identificación del fabricante de equipos originales (OEM ID)
  • El bloque de parámetros del BIOS (BPB), una estructura de datos.
  •  El BPB extendida.
  •  El código de arranque ejecutable (o código de arranque) que se inicia el sistema operativo.
El sector de inicio de FAT16
En la siguiente tabla se describen las secciones de un sector de arranque de un volumen formateado con el sistema de archivos FAT16.
Arranque secciones del sector en un volumen FAT16
Byte offset
Campo largo
Nombre del campo
0x00
3 bytes
Ir instrucción
0x03
8 bytes
OEM ID
0x0B
25 octetos
BPB
0x24
26 octetos
BPB extendido
0x3E
448 bytes
Código bootstrap
0x01FE
2 bytes
Fin del marcador sector

El sector de inicio de FAT32
El sector de inicio de FAT32 es estructuralmente muy similar a la del sector de arranque FAT16, pero el FAT32 contiene campos adicionales. También contiene BPB extendida que utiliza los mismos campos que FAT16. Los volúmenes formateados en FAT32 no pueden ser leídos por los sistemas operativos que no son compatibles con FAT32.
En la siguiente tabla se describen las secciones de un sector de arranque de un volumen formateado con el sistema de archivos FAT32.

Arranque secciones del sector en un volumen FAT32
Byte Offset
Campo Largo
Nombre del campo
0x00
3 bytes
Ir instrucción
0x03
8 bytes
OEM ID
0x0B
53 octetos
BPB
0x40
26 octetos
BPB extendido
0x5A
420 bytes
Código Bootstrap
0x01FE
2 bytes
Fin del marcador sector
Procesos FAT e Interacciones
FAT se ve afectada por muchos factores, como el tamaño del grupo, el nivel de fragmentación, y el uso de programas como el software antivirus.

Montaje de un volumen FAT
Cuando se monta un volumen FAT, el MBR ejecuta el código para poner en marcha el sector de arranque. El sector de arranque se ejecuta código adicional para montar el volumen.

Boot proceso de inicio del código maestro
El MBR contiene una pequeña cantidad de código ejecutable llamado código de arranque maestro, la firma de disco y la tabla de particiones del disco. Durante el arranque, el código de arranque maestro realiza las siguientes actividades:

  •  Analiza la tabla de particiones de la partición activa.
  •  Busca el sector de inicio de la partición activa.
  • Carga una copia del sector de arranque de la partición activa en la memoria.
  • Transfiere el control al código ejecutable del sector de arranque.
Boot Sector proceso de inicio
Los equipos utilizan el sector de arranque para ejecutar las instrucciones durante el inicio. El proceso de puesta en marcha se resume en los siguientes pasos:

  •  El BIOS del sistema y la CPU inician la prueba de encendido (POST).
  •  El BIOS se encuentra el dispositivo de arranque, que suele ser el primer disco de la BIOS se encuentra, a menos que el controlador está configurado para arrancar desde un disco diferente.
  •  La BIOS carga el primer sector físico del dispositivo de arranque en la memoria y la CPU transfiere la ejecución a la dirección de memoria. 
Procesamiento de archivos de Clusters FAT
Cuando se guarda un archivo en un volumen con formato FAT, que almacena información sobre archivos en clústeres en el disco duro. Si un archivo requiere un espacio mayor que el tamaño del clúster, FAT continúa almacenando la información del archivo en el siguiente grupo disponible hasta que se almacena toda la información acerca del archivo. La siguiente figura muestra un ejemplo de cómo la FAT almacena y recupera la información de archivo de clusters.
Procesamiento de archivos en un volumen FAT

En esta figura, 10 agrupaciones (0 a 9) que contienen 3 archivos. Un archivo ocupa grupos 2, 3, 6, y 8; un segundo archivo ocupa los grupos 4 y 5, y un tercer archivo ocupa grupo 7. El número de clúster de partida es la dirección del primer clúster utilizado por el archivo. Cada grupo contiene un puntero al siguiente clúster en el archivo, o un indicador de fin de archivo (0xFFFF), lo que indica que este grupo es el final del archivo.
El byte de atributo para cada entrada en una carpeta describe qué tipo de entrada que es. Por ejemplo, un bit indica que la entrada es para una subcarpeta, y otro poco marca la entrada en un volumen. Típicamente, el sistema operativo controla la configuración de estos bits.

Sistema de archivos FAT16
Significa en español “Tabla de colocación de archivos” (File Allocation Table). Es el sistema nativo de MS-DOS y Windows. GNU/Linux puede también leerlo y escribirlo, aunque no lo utilice como nativo. Se llama FAT 16 porque utiliza 16 bits para cada elemento de la FAT. Es utilizado por los disquetes, las memorias USB y otros dispositivos de almacenamiento.
La FAT 16 tiene dos inconvenientes muy importantes, casi fundamentales. En primer lugar, se utilizan unos clusters demasiado grandes y, en segundo lugar, no permite crear unidades superiores a 2 GB.
Debido a que FAT16 utiliza un tamaño de clúster más grande, no maneja eficientemente el espacio en disco cuando se colocan los archivos que son relativamente pequeños. Un archivo pequeño todavía utiliza un clúster completo, incluso si el archivo no requiere todo el espacio asignado por el clúster. El clúster, una vez utilizado por un archivo, no puede ser utilizado por cualquier otro archivo. Esto se traduce en el espacio desperdiciado. Por lo tanto, FAT16 no es recomendable para volúmenes superiores a 511 MB, y no se puede utilizar en los volúmenes FAT16 mayores de 4  gigabytes (GB).

Tabla de distribución de archivos
Tamaño unidad FAT 16
TAMAÑO DEL CLUSTER
Menos de 128 MB
2 KB
128 a 255 MB
4 KB
256 a 511 MB
8 KB
512 MB a 1 GB
16 KB
1 GB a 2 GB
32 KB

Sistema de archivos FAT32
La FAT 32 es una tabla de localización de archivos que utiliza 32 bytes para los números de cluster. Como se puede imaginar, la FAT 32 resuelve los problemas de la FAT 16, aunque sea a costa de pagar el precio de cierta incompatibilidad.
FAT32 rompe la limitación del volumen de 4 GB de FAT16 mediante la ampliación del número máximo de grupos, y por lo tanto funciona bien en los discos grandes con complejas estructuras de carpetas.
Debido al mayor número de grupos disponibles dentro de FAT32, cada grupo puede hacerse más pequeña para un volumen particular, para aumentar la eficiencia de almacenamiento de datos. Por ejemplo, los volúmenes FAT16 de 2 a 4 GB utilizan un grupo de 64 KB, mientras que los volúmenes FAT32 entre 16 GB y 32 GB utiliza un clúster de 16 KB.

La tabla siguiente recoge el tamaño del cluster en función del tamaño de la unidad.
Tabla de distribución de archivos
Tamaño unidad FAT 32
Tamaño del cluster
513 MB a 8 GB
4 KB
8 GB a 16 GB
8 KB
16 GB a 32 GB
16 KB
Mas de 32 Gb
 32 GB
Ventajas
La principal ventaja es que FAT 32 usa el espacio del disco duro de forma más eficiente (no está de más recordar que ese disco interno es el sitio en el que el PC guarda los programas y la información). La razón está en que FAT 32 usa clusters más pequeños. Los clusters de FAT 32 en discos duros de hasta 8 GB son de 4 KB; en cambio los clusters de FAT 16 son de 32 KB (en discos duros de más de 1 GB).
Tener clusters más grandes desperdicia espacio en el disco duro porque cada archivo está obligado a usar clusters completos. Por ejemplo, un archivo de 10 KB ocupa un cluster de 32 KB completo, o sea que desperdicia 22 KB de espacio. En cambio, en FAT 32 ese mismo archivo ocupa tres clusters de 4 KB; sólo se desperdician 2 KB. Por ello, la principal consecuencia de pasar el disco duro a FAT32 es que tendrá más espacio disponible. Por ejemplo, en un disco duro de 1,2 GB, que tenía 46 MB de espacio libre, la conversión a FAT32 aumentó el espacio libre a 413 MB.
Otro beneficio es que, según Microsoft, los programas se inician hasta 50 por ciento más rápido. El hecho de usar clusters más pequeños permite que el Desfragmentador de disco ubique en el disco duro de forma más eficiente los archivos que hacen parte de un programa y los archivos necesarios para cargar el programa.
Una ventaja adicional, que todavía no lo beneficia, es que FAT32 puede manejar discos duros de hasta 2 terabytes (TB); es decir, de 2.000 GB. 
Aprovechamiento del cluster

Como se observa en el grafico la FAT aprovecha en un 30% más, el espacio del disco duro, es decir, desperdicia menos el tamaño del cluster.
Desventajas
La principal desventaja es que FAT 32 no tiene reversa. Un disco duro convertido a FAT32 no se puede devolver a FAT 16. Y como Windows 95 no soporta FAT 32, no podrá desinstalar Windows 98 si convierte el disco duro a FAT 32. Claro que si no tiene intenciones de regresar a Windows 95, eso no debería ser un problema.
Otra limitación es que FAT 32 no es compatible con el programa de compresión DriveSpace, que viene con Windows. Si convierte el disco a FAT 32, no puede comprimirlo con DriveSpace; además, no puede convertir a FAT 32 un disco que está comprimido con DriveSpace.
Si planea usar el sistema operativo Windows NT 4 en el mismo PC en el que tiene Windows 98, por medio de la función inicio dual (dual boot), tampoco debería convertir el disco. FAT 32 no permite inicio dual con Windows NT 4.0.
Finalmente, después de pasar el disco a FAT 32 dos procesos se harán más lentos que en un disco con FAT 16: usar Windows 98 en modo a prueba de fallos y Desfragmentar el disco duro.

Autor: Sebastián Cintes

1 comentario:

  1. excelente blog felicidades, únicamente deberías de agregar algunas referencias saludos

    ResponderEliminar