1. NTFS
NTFS (del inglés New Technology File System) es un sistema de archivos de Windows NT incluido en las versiones de Windows
2000, Windows XP,Windows Server 2003, Windows Server 2008, Windows Vista y Windows 7. Está basado en el sistema de
archivos HPFS de IBM/Microsoft usado en el sistema operativo OS/2, y también tiene ciertas influencias del formato de
archivos HFS diseñado por Apple.
NTFS permite definir el tamaño del clúster, a partir de 512 bytes (tamaño mínimo de un sector) de forma independiente al tamaño de
la partición.
Es un sistema adecuado para las particiones de gran tamaño requeridas en estaciones de trabajo de alto rendimiento y servidores puede
manejar volúmenes de, teóricamente, hasta 264–1 clústeres. En la práctica, el máximo volumen NTFS soportado es de 232–1 clústeres
(aproximadamente 16 TiBusando clústeres de 4 KiB).
Su principal inconveniente es que necesita para sí mismo una buena cantidad de espacio en disco duro, por lo que no es recomendable su
uso en discos con menos de 400 MiB libres.
Características
El tamaño mínimo recomendado para la partición es de 10 GB. Aunque son posibles tamaños mayores, el máximo recomendado en la
práctica para cada volumen es de 2 TB (Terabytes). El tamaño máximo de fichero viene limitado por el tamaño del volumen. Tiene
soporte para archivos dispersos.
Hay tres versiones de NTFS: v1.2 en NT 3.51, NT 4, v3.0 en Windows 2000 y v3.1 en Windows XP, Windows 2003 Server, Windows Vista y
v5.1 enWindows 2008. Estas versiones reciben en ocasiones las denominaciones v4.0, v5.0, v5.1, v 5.2, y v 6.0 en relación con la versión
de Windows en la que fueron incluidas. Las versiones más recientes han incluido algunas características nuevas, tales como cuotas de
disco y puntos de montaje de volúmenes.
Funcionamiento
Todo lo que tiene que ver con los ficheros se almacena en forma de metadatos. Esto permitió una fácil ampliación de características
durante el desarrollo de Windows NT. Un ejemplo lo hallamos en la inclusión de campos de indizado añadidos para posibilitar el
funcionamiento de Active Directory.
Los nombres de archivo son almacenados en Unicode (UTF-16), y la estructura de ficheros en árboles-B, una estructura de datos compleja
que acelera el acceso a los ficheros y reduce la fragmentación, que era lo más criticado del sistema FAT.
Se emplea un registro transaccional (journal) para garantizar la integridad del sistema de ficheros (pero no la de cada archivo). Los
sistemas que emplean NTFS han demostrado tener una estabilidad mejorada, que resultaba un requisito ineludible considerando la
naturaleza inestable de las versiones más antiguas de Windows NT.
Sin embargo, a pesar de lo descrito anteriormente, este sistema de archivos posee un funcionamiento prácticamente secreto, ya que
Microsoft no ha liberado su código como hizo con FAT.
Gracias a la ingeniería inversa, aplicada sobre el sistema de archivos, se desarrollaron controladores como el NTFS-3G que actualmente
proveen a sistemas operativos GNU/Linux, Solaris, MacOS X o BSD, entre otros, de soporte completo de lectura y escritura
en particiones NTFS.
Interoperabilidad
Microsoft provee medios para convertir particiones FAT32 a NTFS, pero no en sentido contrario, (NTFS a FAT32). Partition
Magic de Symantec y el proyecto de código abierto NTFSResize son ambos capaces de redimensionar particiones NTFS.
Con la herramienta convert incluida en los sistemas NT (Windows 2000 en adelante), se puede cambiar un disco con sistema de ficheros
FAT32 a NTFS sin perder ningún dato con la instrucción "convert [unidad]:/fs:ntfs"
Por razones históricas absolutamente todas las versiones de Windows que todavía no soportan NTFS almacenan internamente la fecha y
hora como hora local, y consecuentemente los sistemas de ficheros correspondientes a esas versiones de Windows, también tratan la
hora localmente. Sin embargo, Windows NT y sus sucesores almacenan la hora en formato GMT/UTC, y hacen las conversiones
apropiadas a la hora de mostrar las fechas. De este modo al copiar archivos entre un volumen NTFS y uno no NTFS, deben hacerse las
conversiones "al vuelo", lo que puede originar ambigüedades si el horario de verano está activo en la copia de unos archivos y no en el de
otros, pudiendo dar lugar a ficheros cuya marca de hora esté una hora desplazada.
2. TABLA DE ASIGNACIÓN DE ARCHIVOS
«FAT» redirige aquí. Para otras acepciones, véase FAT (desambiguación).
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 éstos 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. También carece de permisos de
seguridad: cualquier usuario puede acceder a cualquier archivo.
FAT12
La versión inicial de FAT se conoce ahora como FAT12. Es un sistema de archivos para disquete, por lo que tiene varias limitaciones:
No soporta anidación de carpeta.
Las direcciones de bloque solamente contienen 12 bits. Esto complica la implementación.
El tamaño del disco se almacena como una cuenta de 16 bits expresada en sectores, lo 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). Por tanto, soportaba mayores
tamaños de sistema 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 sólo 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:
FAT16
En 1987 apareció lo que hoy se conoce como el formato FAT16. 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 Kbytes con los usuales
512 bytes por sector. Así que el límite definitivo de FAT16 se situó en los 2 gigabytes.
Esta mejora estuvo disponible en 1988 gracias a MS-DOS 4.0. Mucho más tarde, Windows NT aumentó el tamaño máximo del cluster a 64
kilobytes gracias al "truco" de considerar la cuenta declusters como un entero sin signo. No obstante, el formato resultante no era
compatible con otras implementaciones de la época, y además, generaba mas fragmentación interna (se ocupabanclusters 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 éste
estaba habilitado por defecto en Windows 95.
LFN o nombres largos de archivo
3. 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 sólo 28 de
esos bits se utilizaban realmente).
En teoría, esto debería permitir aproximadamente 268.435.538 clusters, arrojando tamaños de almacenamiento cercanos a los
ocho terabytes. Sin embargo, debido a limitaciones en la utilidadScanDisk de Microsoft, no se permite que FAT32 crezca más allá de
4.177.920 clusters por partición (es decir, unos 124 gigabytes). Posteriormente, Windows 2000 y XP situaron el límite de FAT32 en los 32
gigabytes. 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 gigabytes (232−1 bytes), lo que resulta engorroso para aplicaciones de captura y edición de
video, ya que los archivos generados por éstas superan fácilmente ese límite.
FAT12 FAT16 FAT32 Tamaño máximo 32 MB 2 GB 4 GB
de archivo
Desarrollador Microsoft
Número 4.077 65.517 268.435.43
máximo de 7
Nombre Tabla de Asignación de Archivos archivos
completo
(versión de 12 bits) (versión de 16 bits) (versión de Longitud 8.3 (11) o 255 caracteres cuando se usan LFNs (Long File
32 bits) máxima del Names)
nombre de
archivo
Introducido 1977 (Microsoft Disk Julio de 1988 (MS- Agosto
BASIC) DOS 4.0) de 1996 (W
indows Tamaño máximo 32 MB 2 GB 2 TB
95 OSR2) del volumen
Identificador de 0x01 (MBR) 0x04, 0x06, 0x0E 0x0B, 0x0CCaracterísticas FAT12 FAT16 FAT32
partición (MBR) (MBR)
EBD0A0A2-
B9E5-4433 Fechas Creación, modificación, acceso
-87C0-68B6 almacenadas
B72699C7 (
GPT)
Rango de fechas 1 de enero de 1980 - 31 de diciembre de 2107
soportado
Estructuras FAT12 FAT16 FAT32
Metadatos No de modo nativo
Contenido de Tabla
carpeta
Atributos Sólo lectura, oculto, sistema, archivo, nombre del
volumen
Ubicación de Lista enlazada
archivo
Permisos No
Bloques Lista enlazada
defectuosos Compresión Por No
transparente volumen, Stacker, DoubleSpace,DriveSpac
e
Límites FAT12 FAT16 FAT32
Cifrado Por volumen sólo con DR-DOS No
transparente