Sistema de Archivo NTFS Los sistemas operativos de la familia Windows pueden usar dos sistemas de archivos: El sistema FAT (File Allocation Table) que fue el que originalmente soportó su primer sistema operativo, el MS-DOS (Microsoft Disk Operating System). El sistema NTFS (New Technology File System) que es posterior y más seguro. Este documento trata el sistema NTFS. Estructura Al contrario del sistema FAT, la máxima longitud de una partición NTFS (hasta el momento) solo está limitada por la capacidad del disco. En NTFS puede tenerse longitudes de clusters desde 512 bytes hasta 64 KBytes. Los discos NTFS se dividen, simbólicamente, en dos partes: 1. El primer 12% del disco se asigna a un área que se denomina área MFT, un espacio en el cual crecen los metafile. No se pueden almacenar datos en esta área. 2. El resto es el área de datos. No obstante lo dicho anteriormente cualquier reporte del SO acerca del espacio libre en el disco incluye el área MFT. El mecanismo del área MFT es el siguiente: cuando no haya espacio para almacenar mas archivos se toma espacio del área MFT y se reduce su longitud una vez que vuelve a existir espacio el área MFT vuelve a crecer. Observe la figura siguiente. 1 MFT En el sistema de archivo NTFS cada componente es un archivo, hasta la información del sistema. El archivo más importante es el MFT (Master File Table) que está situado en el área MFT y es un directorio centralizado que contiene información de todos los archivos del disco incluyéndolo a él mismo. MFT se divide en registros de longitud fija (usualmente un 1 KByte) y cada registro corresponde a algún archivo. Los primeros 16 archivos son de contabilidad y son inaccesibles para el SO, se denominan metafiles y el primer metafile es el MTF en sí. Estos primeros 16 elementos de MFT constituyen la única parte del disco que tiene una posición fija. Resulta interesante notar que existe una segunda copia de los tres primeros registros y está almacenada exactamente en la mitad del disco, el resto de los MFT-file se pueden almacenar en cualquier otro archivo que resida en cualquier parte del disco. Metafiles Los primeros 16 archivos de NTFS (metafiles) son archivos del sistema y cada uno de ellos es responsable de algún aspecto del SO. La ventaja de esta implementación modular es su increíble flexibilidad, por ejemplo en el sistema FAT una falla física en el área FAT es catastrófica en la operación de todo el disco. Los metafiles están en el directorio raíz, sus nombres comienzan con el carácter "$",la tabla siguiente muestra los metafiles. 2 $MFT El propio MFT $MFTmirr Copia de los primeros 16 registros MFT (en el medio del disco) $LogFile Soporte para journaling $Volume Información contable – etiqueta del volumen, archivos del sistema, versión, etc. $AttrDef Lista de los atributos estándar de los archivos del volumen $. Directorio raíz $Bitmap Mapa de bits de espacio libre $Boot Sector de arranque (partición bootable) $Quota Cuotas de uso del volumen $Upcase Tabla de acuerdo de letras mayúsculas y minúsculas Archivos y torrentes (streams) Toda la información acerca de los archivos (todo menos los datos) se almacena en registros MFT: su nombre, longitud, posición en el disco, etc., para lo cual se pueden usar uno o varios registros MFT que no tienen que estar contiguos. Los elementos “opcionales” de un archivo (su torrente o stream de datos) pueden estar en un registro MFT, por ejemplo un archivo sin datos, un archivo pequeño que pudiera estar dentro del límite de registros MFT. Los directorios El directorio NTFS es un archivo que especifica referencias a otros archivos y directorios. Está dividido en bloques y cada uno de ellos contiene un nombre de archivo, el atributo base y referencia al elemento MFT que contiene la información completa del directorio. La estructura interna del directorio es un árbol binario, lo cual permite búsquedas más rápidas. La figura siguiente da una visión de una búsqueda en un árbol binario y una búsqueda bruta como la que se hace en la FAT. 3 Journalising El concepto de journalising se refiere a que si se arranca el sistema sin haberlo cerrado correctamente no es necesario hacer un chequeo ya que la recuperación sucede de forma automática a partir de su último estado. NTFS es un sistema seguro ante fallas que puede auto corregirse en casi todas las situaciones. Compresión Los archivos en un volumen NTFS tienen un atributo denominado "compressed", que permite que cualquier archivo se guarde de forma comprimida con el propósito de ahorrar espacio, esa compresión es transparente para las aplicaciones. La compresión se lleva a cabo por bloques de 16 clusters y se usan "clusters virtual". 4