Funcionamiento de los sistemas de archivos

01.06.2015 12:14

Vamos a ver los más importantes:

FAT

Para manejar los bloques asociados a cada archivo, se pueden utilizar varias técnicas.
La técnica más utilizada en versiones antiguas de Windows es la Asignación mediante una
Lista Ligada y un Índice. En esta técnica se crea una tabla con un registro por cada uno de
los bloques del disco, indicando en cada registro si dicho bloque está libre o vacío (con valor
nulo), si es el último bloque del fichero (con valor 0) o cuál es la dirección del siguiente
bloque del fichero almacenado sobre el mismo. De esta forma, en el directorio se asocia con
el nombre del archivo el número de bloque en el que comienza dicho archivo; con este dato y
mediante la tabla, se puede averiguar la dirección de todos los bloques que componen dicho
archivo simplemente siguiendo la lista ligada.
 
Con esta organización, todos los bloques estarán disponibles para los datos. Además,
el acceso a un determinado bloque es macho más rápido, ya que aunque haya que seguir la
cadena de bloques, estas consultas son mucho más rápidas.
 
Ésta es una de las técnicas utilizadas por Windows, como ya comentamos. En este
caso a la tabla de registros se la denomina FAT (File Allocation Table – Tabla de
Localización de Ficheros) y se puede encontrar en sus dos versiones: FAT16 (también
denominado FAT) y FAT32, que se corresponden con los nombres de los sistemas de
archivos, dependiendo de si los bloques se direccionan con 16 o con 32 bits, respectivamente.
 
 
 
NTFS
 
En NTFS no hay área de disco reservada para datos como la FAT. Todos los datos,
incluidos los usados en la estructura de los archivos de sistema, están contenidos en archivos.
Todo en una partición bajo el sistema de archivos NTFS es un archivo, incluso la Master File
Table o Tabla Maestra de Ficheros (MFT), que es una base de datos de los archivos y las
carpetas de la partición que incluye su nombre, ubicación, tamaño y permisos, así como sus
atributos y otra información.
 
El sistema de archivos NTFS se basa, por tanto, en una estructura diferente a la FAT,
llamada tabla maestra de archivos, que contiene registros de los archivos y directorios de la partición.
 
Cada archivo en un volumen NTFS está representado por un registro en un archivo
especial llamado la tabla maestra de archivos (MFT).
 
En el primer registro de esta tabla se describe la tabla maestra de archivos en sí,
seguido de un registro de espejo MFT.
 
Si está dañado el primer registro MFT, NTFS lee el segundo registro para buscar el
archivo espejo MFT, cuyo primer registro es idéntico al primer registro de la MFT. Las
ubicaciones de los segmentos de datos para la MFT y el archivo de espejo MFT se registran
en el sector de arranque.
 
La tabla maestra de archivos asigna una cierta cantidad de espacio para cada registro
del archivo. Los atributos de un archivo se escriben en el espacio asignado en la MFT. Los
archivos pequeños y directorios (normalmente 512 bytes o menos), como por ejemplo el
archivo de la siguiente figura, pueden ser contenidos en su totalidad dentro del registro de la
tabla maestra de archivos.
 
El primer registro, llamado descriptor, contiene información acerca de la MFT (una
copia de esta información se almacena en el segundo registro). El tercer registro contiene el
archivo de registro. Este es un archivo que contiene todas las acciones llevadas a cabo en la
partición. Los siguientes registros, que constituyen lo que se conoce como el núcleo, hacen
referencia a cada archivo y directorio de la partición en la forma de objetos con atributos
asignados. Esto implica que la información que concierne a cada archivo se almacena en un
archivo y éste se registra dentro de la MFT. Por lo tanto, la MFT es una estructura de
almacenamiento de los datos en la partición y no una lista de clústers.
 
Este diseño hace que el acceso a archivos sea muy rápido. Consideremos, por ejemplo,
el sistema de archivos FAT, que utiliza una tabla de asignación de archivos a la lista de los
nombres y direcciones de cada archivo. Cada entradas de directorio FAT contienen un índice
en la tabla de asignación de archivos.
 
Cuando desee ver un archivo, FAT primero lee la tabla de asignación de archivos y se
asegura que existe. Entonces FAT recupera el archivo mediante la búsqueda en la cadena de
unidades de asignación asignados al archivo. Con NTFS, tan pronto como se busca el archivo,
está disponible para ser utilizado.
 
Los registros del directorio se encuentran dentro de la tabla maestra de archivos al
igual que los registros de archivo. En lugar de datos, directorios contienen información de índice.
 
Los registros del directorio pequeños residen completamente dentro de la estructura de
MFT. Los directorios grandes se organizan en árboles B, que tiene registros con punteros a
grupos externos que contienen las entradas de directorio que no podían ser contenidos dentro
de la estructura de MFT.
 
 
 
EXT
 
Por último, los sistemas operativos como Linux utilizan un sistema de archivos basados
en inodos. En esta técnica se asocia a cada archivo una pequeña tabla, llamada inodo, que
contiene los atributos y direcciones en disco de los bloques del archivo.
 
En informática, un inodo, nodo-i o nodo índice es una estructura de datos propia de los
sistemas de archivos tradicionalmente empleados en los sistemas operativos tipo UNIX como
es el caso de Linux. Un inodo contiene las características (permisos, fechas, ubicación, pero
NO el nombre) de un archivo regular, directorio, o cualquier otro objeto que pueda contener el
sistema de ficheros.
 
El término "inodo" refiere generalmente a inodos en discos (dispositivos en modo
bloque) que almacenan archivos regulares, directorios, y enlaces simbólicos. El concepto es
particularmente importante para la recuperación de los sistemas de archivos dañados.
 
Cada inodo queda identificado por un número entero, único dentro del sistema de
ficheros, y los directorios recogen una lista de parejas formadas por un número de inodo y
nombre identificativo que permite acceder al archivo en cuestión: cada archivo tiene un único
inodo, pero puede tener más de un nombre en distintos o incluso en el mismo directorio para
facilitar su localización (enlaces o accesos directos).
 
Las últimas entradas del inodo se reservan para cuando el archivo ocupa más bloques
de los que el inodo es capaz de almacenar y puede contener la dirección de otro bloque en el
que se guardan las demás direcciones de los bloques del archivo. A este bloque se le llama
bloque indirecto. En caso de que con este bloque extra no haya suficiente espacio para
guardar todas las direcciones de los bloques del archivo, existe la posibilidad un bloque
doblemente indirecto e, incluso, un tercer bloque triplemente indirecto.