Tabla de Asignación de Archivos: Índice

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Tabla de asignación de archivos

Tabla de asignación de archivos, comúnmente FAT12 FAT16 FAT32


conocido como FAT (del inglés file allocation table), Desarrollador Microsoft
es un sistema de archivos desarrollado para MS-
DOS, así como el sistema de archivos principal de las Nombre Tabla de Asignación de Archivos
ediciones no empresariales de Microsoft Windows completo (versión (versión (versión de 32
hasta Windows Me. de 12 de 16 bits)
bits) bits)
FAT es relativamente sencillo. A causa de ello, es un
formato popular para disquetes admitido Introducido FAT12: FAT16: FAT32: 1996-
prácticamente por todos los sistemas operativos 1980- 1984-08 08 (Windows
existentes para computadora personal. Se utiliza 08 (PC DOS 95 OSR2)
como mecanismo de intercambio de datos entre (SCP 3.0),
sistemas operativos distintos que coexisten en la 86-DOS FAT16B:
misma computadora, lo que se conoce como entorno 0.42) 1987-11
multiarranque. También se utiliza en tarjetas de (Compaq
memoria y dispositivos similares.
MS-DOS
Las implementaciones más extendidas de FAT tienen 3.31)
algunas desventajas. Cuando se borran y se escriben Identificador 0x01 0x04, 0x0B, 0x0C
nuevos archivos tiende a dejar fragmentos dispersos de partición (MBR) 0x06, (MBR)
de estos por todo el soporte. Con el tiempo, esto hace 0x0E EBD0A0A2-
que el proceso de lectura o escritura sea cada vez más
(MBR) B9E5-4433
lento. La denominada desfragmentación es la
solución a esto, pero es un proceso largo que debe -87C0-
repetirse regularmente para mantener el sistema de 68B6B72699C7
archivos en perfectas condiciones. FAT tampoco fue (GPT)
diseñado para ser redundante ante fallos. Inicialmente Estructuras FAT12 FAT16 FAT32
solamente soportaba nombres cortos de archivo: ocho
Contenido de Tabla
caracteres para el nombre más tres para la extensión.
carpeta
Ubicación de Lista enlazada
archivo
Índice Bloques Lista enlazada
Historia y versiones defectuosos
FAT12 Límites FAT12 FAT16 FAT32
FAT16
Tamaño 32 MiB 2 GiB (4 4 GiB - 1
VFAT y FASTFAT
máximo de GiB - 1)
LFN o nombres largos de archivo archivo
FAT32
Número 4.068 65.460 268.173.300
Otros fabricantes
máximo de para para para clústers
FAT y metadatos
archivos clústers clústers de 32 KiB
exFAT
de 8 de 32
Futuro
KiB KiB
Estructura
El directorio raíz Longitud 8.3 (11) o 255 caracteres cuando
Licenciamiento máxima del se usan LFNs (Long File Names)
Impugnaciones nombre de
archivo
Véase también
Tamaño 32 MiB 2 GiB (4 10 TiB
Referencias
máximo del GiB en
Enlaces externos volumen Windows
En inglés NT)
Características FAT12 FAT16 FAT32
Historia y versiones Fechas Creación, modificación, acceso
almacenadas
El sistema de archivos FAT fue creado por Mac Rango de 1 de enero de 1980-31 de
basado en una serie de conversaciones entre Mac y fechas diciembre de 2107
Bill Gates. Fue incorporado por primera vez en el
soportado
sistema operativo QDOS por Tim Paterson en agosto
de 1980, para los computadores S-100 de Metadatos No de modo nativo
arquitectura Intel 8086. Este sistema de archivos fue Atributos Solo lectura, oculto, sistema,
la principal diferencia entre QDOS y CP/M. archivo, nombre del volumen
Permisos No
FAT12 Compresión Por volumen, No
transparente Stacker,
Las direcciones de bloque solamente DoubleSpace,
contienen 12 bits. Esto complica la
implementación. DriveSpace

El tamaño del disco se almacena como una Cifrado Por volumen solo No
cuenta de 16 bits expresada en sectores, lo transparente con DR-DOS
que limita el espacio manejable a 32
megabytes.

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:

Primer sector físico del disco flexible (Pista Cero)


3 Byte Código máquina de salto ( jmp short 0x3E; nop ) 0EBh 03Ch 090h
8 Byte Cadena que identifica el fabricante del disco 'mkdosfs',0
2 Byte Bytes por sector 512
1 Byte Sectores por clúster 1
2 Byte Sectores reservados 1
1 Byte Número de FAT's 2
2 Byte Entradas máximas en directorio raíz 244
2 Byte Sectores totales 2880
1 Byte Descriptor de medio (0F0h para discos de 1'44M) 240
2 Byte Sectores por fat 9
512 Byte 2 Byte Sectores por pista 18
2 Byte Número de caras 2
4 Byte Sectores ocultos 0
4 Byte Longitud total de sectores 0
1 Byte Número de unidad 0
1 Byte Banderas 0
1 Byte Firma (029h) 41
4 Byte Número de serie 4294967295
12 Byte Etiqueta de volumen 'DISCO EJEMPLO'
8 Byte Identificador de formato 'FAT12'
446 Byte Código máquina del cargador de arranque [...]
2 Byte Firma de unidad arrancable 055AAh

FAT16

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.

VFAT y FASTFAT

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.

LFN o nombres largos de archivo

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

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

En teoría, esto debería permitir


aproximadamente 100.100.538.948.585.453 Estructura de una tabla FAT32, con tres archivos
clusters, arrojando tamaños de asignados
almacenamiento cercanos a los 8 TiB. 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 GiB). Posteriormente, Windows 2000 y XP situaron el límite de FAT32 en los 64 GiB.
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 GiB (232−1 bytes).

Otros fabricantes

Otros sistemas operativos tales como GNU/Linux, FreeBSD y BeOS soportan FAT, y la mayoría también
soportan VFAT y FAT32 en menor extensión. Las primeras ediciones de GNU/Linux también apoyaron un
formato conocido como UMSDOS. Este consistía en una variante de FAT que admitía los permisos de
seguridad típicos en Unix, además de los nombres largos de este. Para ello, se almacenaba esta información
en un archivo FAT separado que se denominaba "--linux--.---" (por tanto, conservando compatibilidad
total). UMSDOS quedó en desuso con la aparición de VFAT en recientes versiones del núcleo Linux. El
sistema operativo Mac OS X también soporta sistemas de archivos FAT, siempre que no se trate del
volumen de arranque del sistema.

FAT y metadatos
NOTA: Los metadatos son atributos asociados a un archivo pero que no forman parte de
él (por ejemplo, la fecha o el autor). Este concepto recibe otras denominaciones tales
como filesystem fork, alternate data streams (en Windows), etc.

El sistema de archivos FAT no está diseñado para albergar metadatos. Algunos sistemas operativos que los
necesitan incorporaron varios métodos para simularlos. Por ejemplo, almacenándolos en archivos o carpetas
extra (de manera similar a UMSDOS) o también otorgando una semántica especial a estructuras no usadas
en el formato original. No obstante, este último método no es compatible con herramientas no preparadas
para esta extensión. Por ejemplo, una herramienta de desfragmentación podría destruir los metadatos. Mac
OS, a través de la utilidad PC Exchange, almacena metadatos en un archivo oculto denominado
"FINDER.DAT" (uno por carpeta). Mac OS X almacena los metadatos en un archivo oculto denominado
como su propietario, pero comenzando por ".-". Cuando se trata de meta-datos de una carpeta, los
almacena en un archivo oculto llamada ".DS_Store".seis

OS/2 también depende fuertemente del uso de meta-datos. Cuando se refiere a volúmenes en FAT, los
almacena en un archivo oculto denominado "EA  DATA.  SF" en la carpeta raíz del volumen. También
reserva dos bytes en el archivo (o carpeta) para poder indexarlo. Los meta-datos se acceden a través del
escritorio Workplace Shell, a través de guiones REXX, o a través de utilidades como 4OS2. Cuando se
refiere a su sistema de archivos propio HPFS, este ya da soporte nativo a meta-datos, denominados
atributos extendidos.

Windows NT soporta meta-datos en los sistemas de archivos HPFS, NTFS y FAT (mediante el mismo
mecanismo que OS/2). Pero no es posible copiar meta-datos entre sistemas de archivos distintos. Windows
2000 se comporta exactamente igual que Windows NT, pero ignora los meta-datos cuando copia archivos
desde FAT32 a otros sistemas de archivos.

exFAT

exFAT (Extended File Allocation Table) es un sistema de archivos especialmente adaptado para memorias
flash presentado con Windows Embedded CE 6.0. exFAT se utiliza cuando el sistema de archivos NTFS
no es factible debido a la sobrecarga de las estructuras de datos.

Futuro

Dado que Microsoft no seguirá dando soporte a sistemas operativos basados en MS-DOS, es poco
probable que se desarrollen nuevas versiones de FAT. NTFS es un sistema de archivos superior a este en
múltiples aspectos: eficiencia, rendimiento y fiabilidad. Su principal desventaja es el excesivo tamaño que
desperdicia en pequeños volúmenes y su limitado soporte en otros sistemas operativos. Sus especificaciones
son un secreto comercial; no obstante, esto está cambiando, gracias a la ingeniería inversa, pues ya es
posible leer y escribir en particiones NTFS en Linux con herramientas como NTFS-3G.

FAT es, hoy por hoy, el sistema de archivos habitual en medios de almacenamiento extraíbles (con la
excepción hecha del CD y DVD). FAT12 se usa en disquetes, y FAT16 en el resto de medios (por ejemplo,
tarjetas de memoria y memorias USB) de hasta 2GB (hoy en día casi en desuso). Las tarjetas y memorias
USB de 4GB a 32GB usualmente usan FAT32 para superar las limitaciones de la versión anterior. Las
memorias de 64GB y más usan el sistema exFAT por la misma razón. FAT se utiliza por motivos de
compatibilidad.

El soporte para formatear particiones con FAT32 en Windows está limitado a particiones de hasta 32
gigabytes, lo que obliga a los usuarios a usar NTFS o utilizar utilidades de terceros al margen de
Windows.1 ​ Esta limitación afecta a la hora de crear particiones, pero no al uso: Windows puede acceder a
discos FAT32 de hasta 2 terabytes.

Aunque en el momento de instalar no permite formatear una partición con FAT32 de más de 32 GB, y
obligará a usar NTFS.2 ​La solución es formatear antes el disco en FAT32 (por ejemplo con la ayuda de un
LiveCd de GNU/Linux o utilidades de terceros), y a continuación instalar Windows.

Estructura
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). Estos 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.

Una partición se divide en un conjunto de clusters de idéntico tamaño. Son pequeños bloques discontinuos.
El tamaño del clúster depende de la variante de FAT utilizada. Varía entre 2 y 32 kilobytes. Cada archivo
ocupa uno o más clusters en función de su tamaño. De manera que un archivo queda representado por una
cadena secuencial de clusters (una lista enlazada). Cada clúster de la cadena no tiene por qué ser adyacente
al anterior. Esto es lo que provoca la fragmentación.

La tabla de asignación de archivos consta de una lista de entradas. Cada entrada contiene información sobre
un clúster:

La dirección del siguiente clúster en la cadena.


Si es pertinente, la indicación de "fin de archivo" (que es también el fin de la cadena).
Un carácter especial para indicar que el clúster es defectuoso.
Un carácter especial para indicar que el clúster está reservado (es decir, ocupado por un
archivo).
El número cero para indicar que el clúster está libre (puede ser usado por un archivo).
El tamaño de estas entradas también depende de la variante FAT en uso: FAT16 usa entradas de 16 bits,
FAT32 usa entradas de 32 bits, etc.

El directorio raíz

Este índice es un tipo especial de archivo que


almacena las sub-carpetas y archivos que
componen cada carpeta. Cada entrada del
directorio contiene el nombre del archivo o
carpeta (máximo 8 caracteres), su extensión
(máximo 3 caracteres), sus atributos (archivo,
carpeta, oculto, del sistema, o volumen), la
fecha y hora de creación, la dirección del
primer cluster donde están los datos, y por
último, el tamaño que ocupa.

El directorio raíz ocupa una posición concreta


en el sistema de archivos, pero los índices de
otras carpetas ocupan la zona de datos como
cualquier otro archivo.

Los nombres largos se almacenan ocupando Tres entradas de directorio bajo un sistema de archivos
varias entradas en el índice para el mismo VFAT (FAT32)
archivo o carpeta.

Licenciamiento
Microsoft ha solicitado una serie de patentes para elementos clave del sistema de archivos FAT en los años
1990. Su popularidad y compatibilidad lo hacen el formato de elección para memorias flash de cámaras
digitales, teléfonos móviles, y tabletas por ejemplo.

En diciembre de 2003, Microsoft anunció que comenzaría a comercializar licencias de uso para FAT al
coste de 0,25 dólares por unidad vendida. con un máximo de 250.000 dólares por acuerdo de licencia.

Hasta el momento, Microsoft ha citado cuatro patentes sobre FAT como fundamento de sus pretensiones.
Las cuatro se refieren a la implementación de nombres largos:

Patente 5.745.902: Método y sistema para acceder un archivo usando nombres largos con
diferentes formatos de nombre de archivo. Cubre un modo de generar y asociar un nombre
corto "8.3" con uno largo (por ejemplo, "Microsoft.txt" -largo- con "Micros~1.txt" -corto-). Así
como el modo de enumerar nombres cortos en conflicto (por ejemplo, "MICROS~2.TXT" y
"MICROS~3.TXT").
Patente 5.579.517: Espacio de nombres común tanto para nombres cortos como largos de
archivos. Cubre un método para encadenar múltiples entradas de nombre corto en el índice
para almacenar un nombre largo. La Public Patent Foundation impugnó esta patente con
éxito.
Patente 5.758.352: Similar a la anterior. También fue impugnada con éxito.
Patente 6.286.013: Método y sistema para proporcionar un espacio común de nombres para
nombres de archivo tanto largos como cortos en un sistema operativo. Esta patente reclama
los métodos usados en Windows 95, 98 y ME para hacer los nombres de archivos largos
compatibles con MS-DOS. Aparentemente, no afecta a ninguna implementación de FAT
distinta a la de Microsoft.

Algunos expertos creen que estas patentes no cubren realmente el uso que se hace de FAT en medios
extraíbles de consumo.

Por otra parte, el documento Microsoft Extensible Firmware Initiative FAT 32 File System Specification,
FAT: General Overview of On-Disk Format, publicado por Microsoft, garantiza una serie de derechos que
podrían interpretarse como una licencia para implementar FAT en otros sistemas operativos.

Impugnaciones

Debido al clamor popular para que se volviesen a examinar dichas patentes, la Public Patent Foundation
envió pruebas a la Oficina de Patentes sobre trabajos previos de Xerox e IBM. La Oficina reconoció que
existían "dudas sustanciales de patentabilidad" y abrió una investigación para revisar dichas patentes.

Finalmente, dicha revisión ha confirmado la validez de las patentes en enero de 2006.3 ​

Véase también
NTFS
HPFS
ext2
ext3
ext4
ReiserFS
VFS
ISO 9660 (sistema de archivos estándar para discos compactos)
Formato de disco

Referencias
1. «Instalación nueva de Windows XP» (http://www.microsoft.com/spain/windowsxp/using/setu
p/getstarted/installnew.mspx). Consultado el 2009.
2. «Limitations of the FAT32 File System in Windows XP» (http://support.microsoft.com/default.
aspx?scid=KB;EN-US;Q314463&). Consultado el 2009.
3. «Microsoft's file system patent upheld (http://news.cnet.com/Microsofts-file-system-patent-up
held/2100-1012_3-6025447.html)» (en inglés).

Enlaces externos

En inglés
Microsoft's statement on "FAT File System Technology and Patent License" (https://web.arch
ive.org/web/20060213224425/http://www.microsoft.com/mscorp/ip/tech/fat.asp)
Slashdot discussion on Microsoft's claims of FAT-related patents (http://slashdot.org/article.p
l?sid=03/12/04/1318212)
Microsoft Extensible Firmware Initiative FAT 32 File System Specification, FAT: General
Overview of On-Disk Format (http://www.microsoft.com/whdc/system/platform/firmware/fatge
n.mspx)
Understanding FAT32 Filesystems (explained for embedded firmware developers) (http://ww
w.pjrc.com/tech/8051/ide/fat32.html)
Microsoft's war on GPL dealt patent setback (http://www.theregister.co.uk/2004/06/14/ms_fat
_patent_reexamined/)
A Short History of MS-DOS (https://web.archive.org/web/20070611184027/http://www.paters
ontech.com/Dos/Byte/History.html), by Tim Paterson
Detailed Explanation of FAT Boot Sector (http://support.microsoft.com/support/kb/articles/Q1
40/4/18.asp) - Microsoft Knowledge Base Article 140418
At PUBPAT's Request, Patent Office Rejects Microsoft's FAT Patent: All Claims of Reynolds
'517 Patent Ruled Invalid (http://www.pubpat.org/Microsoft_517_Rejected.htm)
Volume and file size limits of FAT filesystems (http://www.microsoft.com/resources/document
ation/Windows/XP/all/reskit/en-us/prkc_fil_tdrn.asp)
Design goals and implementation of the new High Performance File System (http://cd.textfile
s.com/megademo2/INFO/OS2_HPFS.TXT)

Obtenido de «https://es.wikipedia.org/w/index.php?title=Tabla_de_asignación_de_archivos&oldid=148655695»

Esta página se editó por última vez el 17 ene 2023 a las 08:03.

El texto está disponible bajo la Licencia Creative Commons Atribución Compartir Igual 3.0; pueden aplicarse
cláusulas adicionales. Al usar este sitio, usted acepta nuestros términos de uso y nuestra política de privacidad.
Wikipedia® es una marca registrada de la Fundación Wikimedia, Inc., una organización sin ánimo de lucro.

También podría gustarte