NTFS: Estructura Interna y Funcionamiento del Sistema de Archivos

Informática y Telecomunicaciones5,1 KB

Introducción al Sistema de Archivos NTFS

En NTFS, todo se gestiona como ficheros. Existen dos tipos principales de ficheros:

  • Ficheros de Metadatos (Metadata Files): Son los ficheros que contienen las estructuras y la información fundamental que sustentan el sistema de archivos. Sus nombres comienzan con el carácter $.
  • Ficheros Normales (Normal Files): Son los ficheros de usuario. El índice principal para acceder a estos ficheros es la MFT (Master File Table).

Componentes Clave de la Estructura NTFS

1. Sector de Arranque ($Boot)

Localizado al inicio del volumen, el Sector de Arranque está representado por el fichero $Boot y, como cualquier otro fichero, también está registrado en la MFT. Similar a un sistema FAT, contiene información crucial sobre la partición o unidad lógica (como el número de sectores, tamaño de clúster, etiqueta, etc.) y un pequeño programa para iniciar el sistema operativo, en caso de recibir el control desde el IPL del MBR durante la secuencia de arranque.

2. Master File Table (MFT)

La MFT (Master File Table) almacena un conjunto de registros para cada fichero. Es la tabla principal a consultar para determinar la secuencia de clústeres donde se almacena un fichero. La propia MFT está registrada como $MFT dentro de sí misma.

Estructura de los Registros MFT

Cada registro en la MFT describe información detallada sobre un fichero. Puede conceptualizarse como una tabla donde cada fila representa un fichero almacenado en la unidad. Las primeras 16 filas (registros) están dedicadas a describir los ficheros de metadatos, incluyendo la propia MFT.

En cada registro de la MFT se describe:

  • Información Estándar: Permisos de lectura/escritura, fecha y hora de creación, fecha y hora de modificación.
  • Nombre de Fichero (File Name).
  • Descripción de Seguridad: Información sobre el propietario del fichero, usuarios con acceso y sus permisos.
  • Almacenamiento de Datos:
    • Si el fichero es pequeño (normalmente hasta 1.500 bytes): Los datos, es decir, el contenido del fichero, se almacenan directamente dentro del mismo registro de la MFT, justo después del descriptor de seguridad. Este diseño es altamente eficiente para ficheros pequeños, ya que con solo consultar su entrada en la MFT se obtiene el contenido completo.
    • Si el fichero es grande: Tras el descriptor de seguridad, se sigue un sistema de punteros a secuencias de clústeres (denominadas EXTENTS) donde están almacenados los datos reales del fichero.

3. MFT Zone

Para evitar la fragmentación de la MFT, se reserva un búfer denominado MFT Zone. Este espacio, configurable al 12.5%, 25%, 37.5% o 50% del total de la unidad, no se utiliza para datos de usuario a menos que todo el espacio restante ya esté ocupado. Inicialmente, mientras haya espacio disponible en 'Free Space 2', 'Free Space 1' actúa exclusivamente como búfer de crecimiento para la MFT. Si fuera necesario utilizar 'Free Space 1' para almacenar datos, estos se asignarían desde el final de la zona para preservar la contigüidad de la MFT.

4. Otros Ficheros de Metadatos Esenciales

En el centro del disco, se encuentran otros ficheros de metadatos esenciales, entre los más destacables se incluyen:

  • $MFTMirr: Una copia exacta de los primeros cuatro registros de la MFT, que permite recuperar el volumen si la MFT principal se daña.
  • $LogFile: Un registro de las operaciones de escritura de disco pendientes. Si el sistema 'cae' (se apaga inesperadamente), $LogFile se utiliza para restaurar el volumen a un estado estable.
  • $Root: El directorio raíz del volumen.
  • $Bitmap: Un mapa de bits que contiene un bit por clúster para indicar su estado de ocupación (1 para ocupado, 0 para libre).
  • $BadClus: Una tabla que registra los clústeres defectuosos del disco.

5. Copia del Sector de Arranque

Al final del volumen, se encuentra una copia oculta del Sector de Arranque, proporcionando una redundancia vital para la recuperación del sistema.

Conceptos de Numeración de Clústeres en NTFS

VCN (Virtual Cluster Number)

Es el número que se asigna a cada clúster dentro de un fichero, numerado desde 0 hasta (x-1), donde 'x' es el total de clústeres que ocupa el fichero.

LCN (Logical Cluster Number)

Es el número que identifica a cada clúster dentro de la partición o unidad lógica, numerado desde 0 hasta (n-1), donde 'n' es el total de clústeres de la unidad.

Descargar

PDF Word HTML