Introducción a los sistemas de archivos FAT, HPFS y NTFS

En este artículo se explican las diferencias entre la tabla de asignación de archivos (FAT), el sistema de archivos de alto rendimiento (HPFS) y el sistema de archivos NT (NTFS) en Windows NT, así como sus ventajas y desventajas.

Versión original del producto:   Windows 10: todas las ediciones, Windows Server 2012 R2
Número KB original:   100108

Nota

HPFS solo es compatible con las versiones 3.1, 3.5 y 3.51 de Windows NT. Windows NT 4.0 no es compatible y no puede acceder a las particiones HPFS. Además, el sistema de archivos FAT32 solo se admite en Windows 98/95 y Windows 2000.

Introducción a FAT

FAT es, con diferencia, el más simple de los sistemas de archivos compatibles con Windows NT. El sistema de archivos FAT se caracteriza por la tabla de asignación de archivos (FAT), que en realidad es una tabla que reside en la parte superior del volumen. Para proteger el volumen, se mantienen dos copias de FAT en caso de que se dañe una. Además, las tablas FAT y el directorio raíz deben almacenarse en una ubicación fija para que los archivos de arranque del sistema se puedan encontrar correctamente.

Un disco con formato FAT se asigna en clústeres, cuyo tamaño está determinado por el tamaño del volumen. Cuando se crea un archivo, se crea una entrada en el directorio y se establece el primer número de clúster que contiene datos. Esta entrada de la tabla FAT indica que este es el último clúster del archivo o apunta al siguiente clúster.

La actualización de la tabla FAT es muy importante y requiere mucho tiempo. Si la tabla FAT no se actualiza periódicamente, puede provocar la pérdida de datos. Lleva mucho tiempo porque los jefes de lectura de disco deben cambiarse de posición a la pista lógica cero de la unidad cada vez que se actualiza la tabla FAT.

No hay ninguna organización en la estructura del directorio FAT y se da a los archivos la primera ubicación abierta en la unidad. Además, FAT solo admite atributos de archivo de solo lectura, oculto, sistema y archivo.

Convención de nomenclatura FAT

FAT usa la convención de nomenclatura de archivos 8.3 tradicional y todos los nombres de archivo deben crearse con el juego de caracteres ASCII. El nombre de un archivo o directorio puede tener hasta ocho caracteres, después un separador de punto (.) y hasta una extensión de tres caracteres. El nombre debe comenzar con una letra o un número y puede contener cualquier carácter excepto los siguientes:

. " / \ [ ] : ; | = ,

Si se usa cualquiera de estos caracteres, pueden producirse resultados inesperados. El nombre no puede contener espacios.

Se reservan los siguientes nombres:

CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL

Todos los caracteres se convertirán en mayúsculas.

Ventajas de FAT

No es posible realizar una eliminación en Windows NT en ninguno de los sistemas de archivos compatibles. Las utilidades de eliminación intentan acceder directamente al hardware, lo que no se puede hacer en Windows NT. Sin embargo, si el archivo se encuentra en una partición FAT y el sistema se reinicia en MS-DOS, el archivo se puede recuperar. El sistema de archivos FAT es mejor para unidades o particiones de menos de 200 MB aproximadamente, ya que FAT comienza con muy poca sobrecarga. Para más información sobre las ventajas de FAT, vea lo siguiente:

  • Windows NT Server "Guía de conceptos y planeación", capítulo 5, sección titulada "Elección de un sistema de archivos"

  • Kit de recursos de Windows NT Workstation 4.0, capítulo 18, "Elección de un sistema de archivos"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capítulo 3, sección titulada "Which File System to Use on Which Volumes"

Desventajas de FAT

Preferiblemente, cuando se usan unidades o particiones de más de 200 MB, no se debe usar el sistema de archivos FAT. Esto se debe a que a medida que aumenta el tamaño del volumen, el rendimiento con FAT disminuirá rápidamente. No es posible establecer permisos en archivos que sean particiones FAT.

Las particiones FAT tienen un tamaño limitado a un máximo de 4 Gigabytes (GB) en Windows NT y 2 GB en MS-DOS.

Para más información sobre otras desventajas de FAT, vea lo siguiente:

  • Windows NT Server "Guía de conceptos y planeación", capítulo 5, sección titulada "Elección de un sistema de archivos"

  • Kit de recursos de Windows NT Workstation 4.0, capítulo 18, "Elección de un sistema de archivos"

  • Microsoft Windows NT Server 4.0 Resource Kit "Resource Guide", capítulo 3, sección titulada "Which File System to Use on Which Volumes"

Información general sobre HPFS

El sistema de archivos HPFS se introdujo por primera vez con OS/2 1.2 para permitir un mayor acceso a las unidades de disco duro más grandes que luego aparecían en el mercado. Además, era necesario que un nuevo sistema de archivos ampliara el sistema de nomenclatura, la organización y la seguridad para las crecientes demandas del mercado de servidores de red. HPFS mantiene la organización del directorio de FAT, pero agrega la ordenación automática del directorio en función de los nombres de archivo. Los nombres de archivo se extienden hasta 254 caracteres de doble byte. HPFS también permite que un archivo esté compuesto por "datos" y atributos especiales para permitir una mayor flexibilidad en términos de compatibilidad con otras convenciones de nomenclatura y seguridad. Además, la unidad de asignación se cambia de clústeres a sectores físicos (512 bytes), lo que reduce la pérdida de espacio en disco.

En HPFS, las entradas de directorio tienen más información que en FAT. Además del archivo de atributos, esto incluye información sobre la modificación, la creación y la fecha y las horas de acceso. En lugar de apuntar al primer clúster del archivo, las entradas de directorio en HPFS apuntan al FNODE. El FNODE puede contener los datos del archivo o punteros que pueden apuntar a los datos del archivo o a otras estructuras que finalmente apuntarán a los datos del archivo.

HPFS intenta asignar la mayor cantidad posible de un archivo en sectores contiguos. Esto se realiza para aumentar la velocidad al realizar el procesamiento secuencial de un archivo.

HPFS organiza una unidad en una serie de bandas de 8 MB y, siempre que sea posible, se incluye un archivo dentro de una de estas bandas. Entre cada una de estas bandas hay mapas de bits de asignación de 2.000, que realiza un seguimiento de los sectores dentro de una banda que tienen y no se han asignado. Las bandas aumentan el rendimiento porque el jefe de unidad no tiene que volver a la parte superior lógica (normalmente cilindro 0) del disco, sino al mapa de bits de asignación de banda más cercano para determinar dónde se almacenará un archivo.

Además, HPFS incluye un par de objetos de datos especiales únicos:

Super bloque

El super bloque se encuentra en el sector lógico 16 y contiene un puntero al FNODE del directorio raíz. Uno de los mayores riesgos de usar HPFS es que si el super bloque se pierde o se daña debido a un sector dañado, también lo son el contenido de la partición, incluso si el resto de la unidad está bien. Sería posible recuperar los datos de la unidad copiando todo en otra unidad con un buen sector 16 y recompilando el super bloque. Sin embargo, se trata de una tarea muy compleja.

Bloque de reserva

El bloque de reserva se encuentra en el sector lógico 17 y contiene una tabla de "correcciones rápidas" y el bloque de directorios de reserva. En HPFS, cuando se detecta un sector no correcto, la entrada "correcciones rápidas" se usa para apuntar lógicamente a un sector bueno existente en lugar del sector no adecuado. Esta técnica para controlar los errores de escritura se conoce como corrección en caliente.

La corrección en caliente es una técnica en la que, si se produce un error debido a un sector con errores, el sistema de archivos mueve la información a un sector diferente y marca el sector original como mal. Todo esto se hace de forma transparente para las aplicaciones que realizan E/S de disco (es decir, la aplicación nunca sabe que hubo problemas con la unidad de disco duro). El uso de un sistema de archivos que admita la corrección en caliente eliminará los mensajes de error como "Abort, Retry, or Fail?" de FAT. mensaje de error que se produce cuando se encuentra un sector con errores.

Nota

La versión de HPFS que se incluye con Windows NT no admite la corrección en caliente.

Ventajas de HPFS

HPFS es mejor para unidades en el intervalo de 200-400 MB. Para obtener más información sobre las ventajas de HPFS, consulta lo siguiente:

  • Windows NT Server "Guía de conceptos y planeación", capítulo 5, sección titulada "Elección de un sistema de archivos"

  • Kit de recursos de Windows NT Workstation 4.0, capítulo 18, "Elección de un sistema de archivos"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capítulo 3, sección titulada "Which File System to Use on Which Volumes"

Desventajas de HPFS

Debido a la sobrecarga que implica HPFS, no es una opción muy eficiente para un volumen de menos de 200 MB aproximadamente. Además, con volúmenes superiores a 400 MB, habrá cierta degradación del rendimiento. No se puede establecer la seguridad en HPFS en Windows NT.

HPFS solo es compatible con las versiones 3.1, 3.5 y 3.51 de Windows NT. Windows NT 4.0 no puede tener acceso a las particiones HPFS.

Para ver las desventajas adicionales de HPFS, consulta lo siguiente:

  • Windows NT Server "Guía de conceptos y planeación", capítulo 5, sección titulada "Elección de un sistema de archivos"

  • Kit de recursos de Windows NT Workstation 4.0, capítulo 18, "Elección de un sistema de archivos"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capítulo 3, sección titulada "Which File System to Use on Which Volumes"

Introducción a NTFS

Desde el punto de vista de un usuario, NTFS continúa organizando los archivos en directorios, que, como HPFS, se ordenan. Sin embargo, a diferencia de FAT o HPFS, no hay objetos "especiales" en el disco y no hay dependencia del hardware subyacente, como sectores de 512 bytes. Además, no hay ubicaciones especiales en el disco, como tablas FAT o super bloques HPFS.

Los objetivos de NTFS son proporcionar:

  • Confiabilidad, que es especialmente deseable para los sistemas de gama alta y los servidores de archivos

  • Una plataforma para funciones agregadas

  • Requisitos posix de compatibilidad

  • Eliminación de las limitaciones de los sistemas de archivos FAT y HPFS

Confiabilidad

Para garantizar la confiabilidad de NTFS, se trataron tres áreas principales: recuperación, eliminación de errores irrecuperados de un solo sector y corrección en caliente.

NTFS es un sistema de archivos recuperable porque realiza un seguimiento de las transacciones con el sistema de archivos. Cuando se realiza un CHKDSK en FAT o HPFS, se comprueba la coherencia de los punteros dentro del directorio, la asignación y las tablas de archivos. En NTFS, se mantiene un registro de transacciones con estos componentes para que CHKDSK solo necesite revertir transacciones al último punto de confirmación para recuperar la coherencia en el sistema de archivos.

En FAT o HPFS, si se produce un error en un sector que es la ubicación de uno de los objetos especiales del sistema de archivos, se producirá un único error de sector. NTFS evita esto de dos maneras: primero, al no usar objetos especiales en el disco y al realizar un seguimiento y proteger todos los objetos que están en el disco. En segundo lugar, en NTFS, se mantienen varias copias (el número depende del tamaño del volumen) de la tabla de archivos maestros.

De forma similar a las versiones del sistema operativo/2 de HPFS, NTFS admite la corrección en caliente.

Funcionalidad agregada

Uno de los principales objetivos de diseño de Windows NT en todos los niveles es proporcionar una plataforma a la que se pueda agregar y crear, y NTFS no es una excepción. NTFS proporciona una plataforma amplia y flexible para que otros sistemas de archivos puedan usarse. Además, NTFS es totalmente compatible con el modelo de seguridad de Windows NT y admite varias secuencias de datos. Ya no es un archivo de datos una única secuencia de datos. Por último, en NTFS, un usuario puede agregar sus propios atributos definidos por el usuario a un archivo.

Compatibilidad con POSIX

NTFS es el más compatible con POSIX.1 de los sistemas de archivos compatibles porque admite los siguientes requisitos posix.1:

Nombres que distinguen mayúsculas de minúsculas:

En POSIX, README.TXT, Readme.txt y readme.txt archivos son diferentes.

Marca de tiempo adicional:

La marca de tiempo adicional proporciona la hora en la que se tuvo acceso al archivo por última vez.

Vínculos duros:

Un vínculo duro es cuando dos nombres de archivo diferentes, que se pueden encontrar en directorios diferentes, apuntan a los mismos datos.

Eliminar limitaciones

En primer lugar, NTFS ha aumentado considerablemente el tamaño de los archivos y volúmenes, de modo que ahora pueden ser hasta 2^64 bytes (16 exabytes o 18.446.744.073.709.551.616 bytes). NTFS también ha vuelto al concepto FAT de clústeres para evitar el problema de HPFS de un tamaño de sector fijo. Esto se hizo porque Windows NT es un sistema operativo portátil y es probable que se encuentre tecnología de disco diferente en algún momento. Por lo tanto, se ha visto que 512 bytes por sector tiene una gran posibilidad de no ser siempre una buena opción para la asignación. Esto se logra al permitir que el clúster se defina como múltiplo del tamaño de asignación natural del hardware. Por último, en NTFS, todos los nombres de archivo están basados en Unicode y 8,3 se mantienen junto con nombres de archivo largos.

Ventajas de NTFS

NTFS es mejor para su uso en volúmenes de aproximadamente 400 MB o más. Esto se debe a que el rendimiento no disminuye en NTFS, como lo hace en FAT, con tamaños de volumen más grandes.

La capacidad de recuperación diseñada en NTFS es tal que un usuario nunca debe tener que ejecutar ningún tipo de utilidad de reparación de disco en una partición NTFS. Para obtener más ventajas de NTFS, consulta lo siguiente:

  • Windows NT Server "Guía de conceptos y planeación", capítulo 5, sección titulada "Elección de un sistema de archivos"

  • Kit de recursos de Windows NT Workstation 4.0, capítulo 18, "Elección de un sistema de archivos"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capítulo 3, sección titulada "Which File System to Use on Which Volumes"

Desventajas de NTFS

No se recomienda usar NTFS en un volumen que sea inferior a aproximadamente 400 MB, debido a la cantidad de sobrecarga de espacio implicada en NTFS. Esta sobrecarga de espacio se encuentra en forma de archivos del sistema NTFS que normalmente usan al menos 4 MB de espacio en una partición de 100 MB.

Actualmente, no hay cifrado de archivos integrado en NTFS. Por lo tanto, alguien puede arrancar en MS-DOS, u otro sistema operativo, y usar una utilidad de edición de disco de bajo nivel para ver los datos almacenados en un volumen NTFS.

No es posible dar formato a un disco duro con el sistema de archivos NTFS; Windows NT da formato a todos los disquetes con el sistema de archivos FAT porque la sobrecarga implicada en NTFS no cabe en un disquete.

Para obtener más información sobre las desventajas de NTFS, vea lo siguiente:

  • Windows NT Server "Guía de conceptos y planeación", capítulo 5, sección titulada "Elección de un sistema de archivos"

  • Kit de recursos de Windows NT Workstation 4.0, capítulo 18, "Elección de un sistema de archivos"

  • Windows NT Server 4.0 Resource Kit "Resource Guide", capítulo 3, sección titulada "Which File System to Use on Which Volumes"

Convenciones de nomenclatura NTFS

Los nombres de archivo y directorio pueden tener hasta 255 caracteres, incluidas las extensiones. Los nombres conservan mayúsculas de minúsculas, pero no distinguen mayúsculas de minúsculas. NTFS no distingue entre nombres de archivo en función de mayúsculas y minúsculas. Los nombres pueden contener cualquier carácter excepto los siguientes:

? " / \ < > * | :

Actualmente, desde la línea de comandos, solo puede crear nombres de archivo de hasta 253 caracteres.

Nota

Las limitaciones de hardware subyacentes pueden imponer limitaciones de tamaño de partición adicionales en cualquier sistema de archivos. En particular, una partición de arranque puede tener solo 7,8 GB de tamaño y hay una limitación de 2 terabytes en la tabla de particiones.

Para obtener más información acerca de los sistemas de archivos compatibles con Windows NT, vea el Kit de recursos de Windows NT.