Anteriormente en el post "Los sistemas de archivos, qué pasa cuando formateamos y cuando borramos un archivo o directorio. Parte I" vimos una pequeña introducción a los sistemas de archivos donde explicamos de forma breve varios conceptos básicos como las partes de un disco duro y una introducción a qué son los sistemas de archivos y los dos grandes tipos diferenciados que hay. Pues bien, ahora procederemos a explicar estos dos tipos principales de archivos. En este post explicaremos los sistemas de archivos: FAT, i-nodo y NTFS.
Sistemas de archivos en FAT
Independientemente de si se trata de FAT16 o FAT32, en este sistema tendremos un archivo especial llamado directorio raíz y una tabla llamada FAT (File Allocation Table).
Esta tabla tendrá tantas celdas como bloques tenga el disco. Cada celda contendrá un determinado código si el bloque está libre o, si está ocupado, la señal de fin de fichero o el número del bloque en el que continua. Ya que en FAT16 cada celda tiene 16 bits, el número mayor que podrá almacenar será 216-1. Por tanto, sólo podrá manejar 216 bloques.
En FAT32 el tamaño de la celda es de 32 bits, es decir, manejará hasta 232 bloques.
La entrada en el directorio correspondiente a un fichero contiene, entre otros datos, el número del primer bloque del fichero. La celda de la FAT igual al número de dicho bloque contiene el número del siguiente bloque si el fichero ocupa varios.
El meollo del problema de la FAT es que los punteros de todos los ficheros del disco están mezclados de forma aleatoria en la misma tabla. Esto quiere decir que puede hacer falta la FAT completa, aunque sólo se haya abierto un fichero. Además, si se daña la FAT se pierde el acceso a la totalidad de los ficheros del disco. Cada disquete o partición bajo el sistema de ficheros FAT es distribuido en cuatro áreas separadas. Estas áreas,
son guardadas en el siguiente orden:
• Nombre y versión del sistema operativo.
• Tipo de disco.
• Número de caras del disco.
• Número de sectores por pista.
• Número de bytes por sector.
• Número total de sectores.
• Número de sectores en cada grupo.
• Número de FAT's.
• Número de entradas máximas en el directorio raíz.
• Número de sectores ocupados por cada FAT.
• Número de serie del disco.
• Etiqueta del disco.
Si queremos ver este sector, para comprobar su contenido, podemos hacerlo mediante la orden de MSDOS (presente también en los sistemas Windows) DEBUG9. Para ello, ejecutamos la orden DEBUG y, cuando aparezca el prompt (que consiste en un -), escribimos lo siguiente:
Sistemas de archivo UNIX
Cada fichero UNIX tiene en el disco una pequeña tabla asociada, llamada nodo-i que contiene, entre otra información, espacio para identificar hasta los 10 primeros bloques donde se encuentran los datos del archivo en el disco. Además, tiene 3 posiciones para los llamados bloque indirecto. Para ficheros que ocupen 10 o menos bloques, todas las direcciones de los bloques se guardan en el nodo-i, lo que facilita su localización.Cuando un fichero ocupa más de 10 bloques de disco, recurriremos al primer bloque indirecto, el bloque indirecto simple que nos indicará un nuevo bloque que contendrá en su totalidad punteros a bloques de disco. Para bloques de 1KB y direcciones de disco de 32 bits (4 bytes), el bloque indirecto simple puede contener hasta 256 direcciones de disco (1024bytes / 4bytes=256)). Este método es suficiente para ficheros que ocupen hasta 266 bloques (10 en el nodo-i y 256 en el bloque indirecto simple).
Por encima de 266 bloques, se emplea el bloque indirecto doble, que apunta a un bloque de disco que contendrá hasta 256 bloques indirectos simples en vez de hacerlo a bloques de datos. El bloque indirecto doble cubre ficheros que ocupen hasta 266+2562=65.802 bloques. Para ficheros de más de 65802 bloques se emplea el bloque indirecto triple, que apunta a un bloque que contiene 256 bloques indirectos dobles.
La potencia del sistema UNIX reside en que los bloques indirectos sólo se utilizan cuando hacen falta. Incluso para los ficheros más grandes son necesarias sólo tres referencias a disco para localizar la dirección de cualquier byte del fichero (se excluye la referencia de lectura del nodo-i, que se lee al abrir el fichero y se deja en memoria hasta que se cierra).
Sistema de archivos NTFS
El sistema de archivos NTFS (New Technology File System) se basa en una estructura llamada "tabla maestra de archivos" o MFT, la cual puede contener información detallada en los archivos. Este sistema permite el uso de nombres extensos, aunque, a diferencia del sistema FAT32, distingue entre mayúsculas y minúsculas.
En cuanto al rendimiento, el acceso a los
archivos en una partición NTFS es más rápido que en una partición de tipo FAT,
ya que usa un árbol binario de alto rendimiento para localizar a los archivos.
En teoría, el tamaño límite de una partición es de 16 exabytes (17 mil millones
de TB). Sin embargo, el límite físico de un disco es de 2TB.
también a nivel de la seguridad que el NFTS se
destaca en que permite que se definan atributos para cada archivo. La versión
5 de este sistema de archivos (estándar en Windows 2000 [cuyo seudónimo es NT
5]) brinda aún más opciones nuevas, como ser un alto rendimiento y cuotas de
disco por volumen definidas para cada usuario. NTFS v.5 también debería admitir
la administración remota...
La Tabla maestra de archivos es una tabla
de valores numéricos. Cada celda de estos valores describe la asignación de
clústers de una partición. En otras palabras, es el estado (utilizado o no por
un archivo) de cada clúster en la partición en la que está ubicado.
El sistema de archivos NTFS se basa en
una estructura diferente, llamada tabla maestra de archivos, que contiene
registros de los archivos y directorios de la partición. 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.
¿Qué pasa cuando formateamos, borramos un archivo o un directorio?
Bien, pues si habéis leído este post y el anterior, ya es os imaginareis, si no os lo imagináis ya os lo digo yo, que el archivo o archivos en sí no es lo que borramos, y por tanto sigue ahí. Lo que borramos es la entrada de la tabla del sistema de archivos en FAT, MFT en NTFS o el i-nodo en los sistemas de archivos UNIX.
Al formatear sucede lo mismo, lo que borramos es la tablas de los sistemas de archivos y por tanto, los archivos hasta que no sobrescribimos los sectores con otros archivos no son "borrados" ya que pueden llegar aún así recuperarse. Por ello, para borrar un archivo de forma segura los programas especializados en esto introducen 1 y 0 de forma aleatoria en los sectores para hacer irrecuperable los archivos.
Dado esto cuando insertamos un Pendrive y os dice que no puede abrirlo, etc. una solución es formatearlo e inmediatamente pasar un programa de recuperación de archivos tal y como vimos en el post "Recuperar archivos de una tarjeta SD con Recuva".
¡Espero que os haya gustado y que volváis pronto!
No hay comentarios:
Publicar un comentario