Manejo de archivos
4. FAT( Informativo)
¿Qué contiene una FAT?
Imaginá la FAT como una tabla de entradas, donde cada entrada representa un clúster del disco (una unidad mínima de almacenamiento). Cada celda contiene un número que indica el siguiente clúster ocupado por el mismo archivo, o un valor especial.
🔍 Cada entrada en la FAT puede contener:
-
Valor 0: el clúster está libre.
-
Número de clúster: el clúster está ocupado y apunta al siguiente clúster del mismo archivo.
-
Valor especial de fin de archivo (por ejemplo,
0xFFFF
en FAT16): indica que ese clúster es el último del archivo. -
Valor de error (
0xFFF7
en FAT16): indica un clúster dañado o defectuoso (bad sector).
🧠 Nota técnica:
-
En FAT12, cada entrada ocupa 12 bits → máx. 4.096 clústers.
-
En FAT16, cada entrada ocupa 16 bits → máx. 65.536 clústers.
-
En FAT32, cada entrada ocupa 28 bits efectivos → permite manejar discos grandes (hasta 2 TB o más).
📌 En FAT:
-
Los datos del archivo NO contienen punteros a los siguientes fragmentos.
-
La FAT (tabla central) sí contiene esa cadena de punteros lógicos.
Qué hace la FAT exactamente?
Es una estructura separada de los datos que mantiene un encadenamiento lógico entre los clústers de un archivo. Cada entrada de la FAT representa el "siguiente clúster" de datos de un archivo.
🧠 Esto significa que:
Los archivos no contienen información sobre cómo están distribuidos. Toda esa lógica está en la FAT.
🔍 Comparación con otros sistemas
Sistema de archivos | Dónde están los "punteros" al siguiente fragmento |
---|---|
FAT | En la tabla FAT (centralizada) |
ext2/ext3/ext4 | En inodos con listas de bloques (índices) |
ReiserFS, Btrfs | Estructuras tipo árbol (árboles B o B+) |
Sistemas en cintas o log | A veces dentro del bloque mismo Secuencial |
✅ Conclusión
En FAT, los archivos no contienen información sobre su propia secuencia. Esa información está centralizada en la FAT, que actúa como un mapa para reconstruir el archivo completo siguiendo las cadenas de clústers.
🧩 Otro modelo de Asignación Indexada
📌 ¿Qué es?
En lugar de encadenar los bloques de datos (como en FAT), este modelo guarda una tabla de punteros directa en un "índice" asociado a cada archivo. Ese índice es independiente y suele estar contenido en una estructura llamada inodo (inode).
🗃️ ¿Dónde se usa?
-
Linux (ext2, ext3, ext4)
-
Unix (UFS, FFS)
-
Sistemas modernos como ZFS, XFS, Btrfs, etc.
🧠 Concepto clave: Inodo
Un inodo contiene:
-
Metadatos del archivo (tamaño, fecha, permisos, etc.)
-
Una tabla de punteros a los bloques de datos del archivo
En Linux, podés ver el número de inodo (inode number) asociado a un archivo o directorio con el comando:
ls -i
🧠 ¿Para qué sirve saber el número de inodo?
-
Identificar archivos idénticos con hard links (comparten el mismo inodo).
-
Detectar archivos borrados aún abiertos.
-
Analizar el sistema de archivos a bajo nivel (debugging, backups, recuperación).