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.
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
|
4 KB
|
|
8 KB
|
|
512 MB a 1 GB
|
16 KB
|
1 GB a 2 GB
|
32 KB
|
Sistema de archivos FAT32
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
excelente blog felicidades, únicamente deberías de agregar algunas referencias saludos
ResponderEliminar