Sistemas de Archivos: FAT, HPFS y NTFS

Sistema de Archivos

Funciones Básicas

Las funciones básicas del sistema de archivos son:

  • Tener conocimiento de todos los archivos del sistema.
  • Controlar la compartición y forzar la protección de los archivos.
  • Gestionar el espacio de disco: asignación y desasignación.
  • Traducir las direcciones lógicas de los archivos a direcciones físicas de disco.

El sistema de archivos (en inglés: filesystem) es el componente del sistema operativo encargado de administrar y facilitar el uso de las memorias periféricas, ya sean secundarias o terciarias. Sus principales funciones son la asignación de espacio a los archivos, la administración del espacio libre y la administración del acceso a los datos resguardados. Estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro de una computadora).

Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud (también denominados clústers).

El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios, y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la práctica, un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red (sin la intervención de un dispositivo de almacenamiento).

Estructura de Directorios

La estructura de directorios suele ser jerárquica, ramificada o «en árbol». En algunos sistemas de archivos, los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos (datos que describen otros datos) de cada archivo se alojan separadamente.

En los sistemas de archivos jerárquicos, usualmente, se declara la ubicación precisa de un archivo con una cadena de texto llamada «ruta» —o path en inglés—. La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún carácter especial que suele ser una diagonal (‘/’) o diagonal invertida (‘\’) y puede terminar en el nombre de un archivo presente en la última rama de directorios especificada.

Ejemplo: C:\Users\Chino\Mis Videos\cosas\’porno gay’.mp4

Extensión del Archivo

Este elemento, parte del nombre, es especialmente relevante en los sistemas Microsoft Windows, ya que sirve para identificar qué tipo de archivo es y la aplicación que está asociada con el archivo en cuestión, es decir, con qué programa se puede editar o reproducir el archivo.

Resumen de Características de los Sistemas de Archivos

  • Seguridad o permisos: (se puede restringir o permitir el acceso de un determinado usuario a un archivo para su visualización de contenidos, modificación y/o ejecución)
    • Listas de control de acceso (ACLs)
    • UGO (Usuario, Grupo, Otros, o por sus siglas en inglés, User, Group, Others)
    • Atributos extendidos (ej.: sólo añadir al archivo pero no modificar, no modificar nunca, etc.)
  • Mecanismo para evitar la fragmentación
  • Capacidad de enlaces simbólicos o duros
  • Integridad del sistema de archivos: (Se basa en llevar un registro de diario en el que se almacena la información necesaria para restablecer los datos afectados por la transacción en caso de que ésta falle.)
  • Soporte para archivos dispersos
  • Soporte para cuotas de discos
  • Soporte de crecimiento del sistema de archivos nativo

Tipos de Sistemas de Archivos

Sistemas de Archivos de Disco

Un sistema de archivo de disco está diseñado para el almacenamiento de archivos en una unidad de disco, que puede estar conectada directa o indirectamente a la computadora.

Sistemas de Archivos de Red

Un sistema de archivos de red es el que accede a sus archivos a través de una red.

Introducción a FAT

El sistema de archivos FAT se caracteriza por la tabla de asignación de archivos (FAT), que es realmente una tabla que reside en la parte más «superior» del volumen. Para proteger el volumen, se guardan dos copias de la FAT por si una resultara dañada. 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 ubicar correctamente.

Un disco con formato FAT se asigna en clústeres, cuyo tamaño viene 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 bien señala al clúster siguiente.

(A) Pista
(B) Sector geométrico
(C) Sector de pista
(D) Cluster.

La actualización de la tabla FAT es muy importante y requiere mucho tiempo. Si la tabla FAT no se actualiza con regularidad, podría producirse una pérdida de datos.

No hay ninguna organización en cuanto a la estructura de directorios de FAT, y se asigna a los archivos la primera ubicación libre de la unidad. Además, FAT solo es compatible con los atributos de los archivos de almacenamiento, del sistema, ocultos y de solo lectura.

Convención de Nomenclatura de FAT

Todos los nombres de archivo deben crearse con el conjunto de caracteres ASCII. El nombre de un archivo o directorio puede tener ocho caracteres de longitud, después un separador de punto (.) y una extensión de hasta tres caracteres. El nombre debe empezar con una letra o un número y puede contener cualquier carácter excepto los siguientes:

. » / \ [ ] : ; | = ,

Ventajas de FAT

No es posible realizar una recuperación de archivos eliminados en Windows NT en ninguno de los sistemas de archivos compatibles. Las utilidades de recuperación de archivos eliminados intentan tener acceso directamente al hardware, lo que no se puede hacer en Windows NT. Sin embargo, si el archivo estuviera en una partición FAT y se reiniciara el sistema en MS-DOS, se podría recuperar el archivo. El sistema de archivos FAT es el más adecuado para las unidades y/o particiones de menos de 200 MB aproximadamente, ya que FAT se inicia con muy poca sobrecarga.

Desventajas de FAT

Cuando se utilicen unidades o particiones de más de 200 MB, es preferible no utilizar el sistema de archivos FAT. El motivo es que a medida que aumente el tamaño del volumen, el rendimiento con FAT disminuirá rápidamente. No es posible establecer permisos en archivos que estén en 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.

Introducción a HPFS

El sistema de archivos HPFS se presentó por primera vez con OS/2 1.2 para permitir un mejor acceso a los discos duros de mayor tamaño que estaban apareciendo 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 de directorio de FAT, pero agrega la ordenación automática del directorio basada en nombres de archivo. Los nombres de archivo se amplían hasta 254 caracteres de doble byte. HPFS también permite crear un archivo de «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 cambia de clústeres a sectores físicos (512 bytes), lo que reduce el espacio perdido en el disco.

En HPFS, las entradas de directorio contienen más información que en FAT. Además del archivo de atributos, esto incluye información sobre la fecha y la hora de modificación, de creación y de acceso. En lugar de señalar al primer clúster del archivo, en HPFS las entradas del directorio señalan a FNODE. FNODE puede contener los datos del archivo, o bien punteros que pueden señalar a datos del archivo o a otras estructuras que, a su vez, señalarán a datos del archivo.

HPFS intenta asignar, en la medida de lo posible, la mayor cantidad de datos de un archivo en sectores contiguos. Esto se hace con el fin de aumentar la velocidad al realizar el procesamiento secuencial de un archivo.

Superbloque

El superbloque se encuentra en el sector lógico 16 y contiene un puntero al FNODE del directorio raíz. Uno de los mayores peligros de utilizar HPFS es que si el superbloque se pierde o resulta dañado debido a un sector defectuoso, lo mismo ocurrirá con el contenido de la partición, incluso aunque el resto de la unidad esté bien. Sería posible recuperar los datos de la unidad copiando todo a otra unidad con un sector 16 en buen estado y volviendo a generar el superbloque. Sin embargo, es una tarea muy compleja.

Bloque de Reserva

El bloque de reserva se encuentra en el sector lógico 17 y contiene una tabla de «revisiones» y el bloque de directorio de reserva. En HPFS, cuando se detecta un sector defectuoso, la entrada de las «revisiones» se utiliza para señalar lógicamente a un sector en buen estado existente en lugar de al sector defectuoso. Esta técnica para el tratamiento de errores de escritura se conoce como revisión.

La revisión es una técnica en la que si se produce un error debido a un sector defectuoso, el sistema de archivos mueve la información a otro sector diferente y marca el sector original como no válido. Todo ello se realiza de forma transparente para cualquier aplicación que esté realizando operaciones de E/S de disco (es decir, la aplicación nunca sabe que hubo problemas con el disco duro).

Ventajas de HPFS

HPFS es la mejor opción para las unidades comprendidas entre 200 y 400 MB.

Desventajas de HPFS

Debido a la sobrecarga que implica HPFS, no es una opción muy eficaz para un volumen de menos de unos 200 MB. Además, con volúmenes mayores de unos 400 MB, habrá una ligera degradación del rendimiento.

Introducción a NTFS

Desde el punto de vista de un usuario, NTFS sigue organizando los archivos en directorios que, al igual que ocurre en HPFS, se ordenan. Sin embargo, a diferencia de FAT o de HPFS, no hay ningún objeto «especial» en el disco y no hay ninguna dependencia del hardware subyacente, como los sectores de 512 bytes. Además, no hay ninguna ubicación especial en el disco, como las tablas de FAT o los superbloques de HPFS.

Los objetivos de NTFS son proporcionar lo siguiente:

  • Confiabilidad, que es especialmente deseable para los sistemas avanzados y los servidores de archivos.
  • Una plataforma para tener mayor funcionalidad.
  • Compatibilidad con los requisitos de POSIX.
  • 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: posibilidad de recuperación, eliminación de errores graves de un único sector y revisiones.

En FAT o en 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 error de un único sector. NTFS evita esto de dos maneras: en primer lugar, no utilizando objetos especiales en el disco, efectuando el seguimiento de todos los objetos del disco y protegiéndolos. En segundo lugar, en NTFS se mantienen varias copias (el número depende del tamaño del volumen) de la tabla maestra de archivos.

Mayor Funcionalidad

Uno de los principales objetivos de diseño de Windows NT en cada nivel es proporcionar una plataforma a la que se pueda agregar e integrar funciones, y NTFS no es ninguna excepción. NTFS proporciona una plataforma enriquecida y flexible que pueden utilizar otros sistemas de archivos. 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 en una única secuencia de datos. Por último, en NTFS un usuario puede agregar a un archivo sus propios atributos definidos por él mismo.

Compatibilidad con POSIX

POSIX: («Interfaz portable de sistema operativo») Son una familia de estándares de llamadas al sistema operativo. Persiguen generalizar las interfaces de los sistemas operativos para que una misma aplicación pueda ejecutarse en distintas plataformas.

NTFS es el sistema de archivos compatible que mejor se adhiere a POSIX.1, ya que cumple los requisitos siguientes de POSIX.1:

  • Nomenclatura con distinción entre mayúsculas y minúsculas: En POSIX, LÉAME.TXT, Léame.txt y léame.txt son todos archivos diferentes.
  • Marca de tiempo adicional: La marca de tiempo adicional proporciona la hora a la que se tuvo acceso al archivo por última vez.
  • Vínculos físicos: Un vínculo físico se produce cuando dos nombres de archivo diferentes, que pueden estar en directorios diferentes, señalan a los mismos datos.

Eliminación de Limitaciones

En primer lugar, NTFS ha aumentado considerablemente el tamaño de los archivos y los volúmenes, de forma que ahora pueden tener hasta 2^64 bytes (16 exabytes o 18.446.744.073.709.551.616 bytes). NTFS también ha vuelto al concepto de clústeres de FAT 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 lugar. Por tanto, se consideró que quizás 512 bytes por sector no fuera siempre un valor adecuado para la asignación. Para lograrlo, se permitió definir el clúster como múltiplos del tamaño de asignación natural del hardware.

Ventajas de NTFS

NTFS es la mejor opción para volúmenes de unos 400 MB o más. El motivo es que el rendimiento no se degrada en NTFS, como ocurre en FAT, con tamaños de volumen mayores. La posibilidad de recuperación está diseñada en NTFS de manera que un usuario nunca tenga que ejecutar ningún tipo de utilidad de reparación de disco en una partición NTFS.

Desventajas de NTFS

No se recomienda utilizar NTFS en un volumen de menos de unos 400 MB, debido a la sobrecarga de espacio que implica. Esta sobrecarga de espacio se refiere a los archivos de sistema de NTFS que normalmente utilizan al menos 4 MB de espacio de unidad en una partición de 100 MB.
NTFS no integra actualmente ningún cifrado de archivos. Por tanto, alguien puede arrancar en MS-DOS u otro sistema operativo y emplear una utilidad de edición de disco de bajo nivel para ver los datos almacenados en un volumen NTFS.
No es posible formatear un disco con el sistema de archivos NTFS; Windows NT formatea todos los discos con el sistema de archivos FAT porque la sobrecarga de espacio que implica NTFS no cabe en un disco.

Convenciones de Nomenclatura de NTFS

Los nombres de archivo y de directorio pueden tener hasta 255 caracteres de longitud, incluyendo cualquier extensión. Los nombres conservan el modelo de mayúsculas y minúsculas, pero no distinguen mayúsculas de minúsculas. NTFS no realiza ninguna distinción de los nombres de archivo basándose en el modelo de mayúsculas y minúsculas. Los nombres pueden contener cualquier carácter excepto los siguientes:

? » / \ < > * | :

Coexistencia de Varios Sistemas de Archivos

Cuando coexisten varios sistemas operativos en la misma máquina, la elección de un sistema de archivos es un gran problema. Debido a que el sistema de archivos está estrechamente ligado al sistema operativo, cuando existen varios sistemas operativos, usted debe elegir un sistema de archivos para cada uno, teniendo en cuenta que es posible que deba acceder a los datos de un sistema operativo desde otro. Una solución sería la de usar particiones FAT para todos los sistemas, asegurándose de que las particiones no sean mayores a 2 GB. La solución más apropiada sería la de utilizar, para cada SO, una partición cuyo sistema de archivos sea el que mejor se adapte a ésta y utilizar una partición FAT16 dedicada para que los diferentes sistemas operativos compartan datos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.