Las particiones realizadas en disco siempre va a tener un sector de arranque (MBR) y que estructura de datos va a almacenar, por lo que siempre van a tener un formato o sistema de archivos.
FAT
Tiene un sector arranque, dos copias de la FAT, y partir de aqui el directorio raiz a partir del cual se empezaran a jerarquizar los datos. Cabe destacar que la segunda copia "no es una copia de seguridad" ya que unicamente sera utilizada por el sistema, en caso de daño fisico (errores en el hardware). El sistema no va a poder detectar los errores lógicos, como el hecho de un disco corrupto.
Sector de arranque
- Nombre y versión del sistema operativo
- Tipo de disco
- Numero de sectores por pista
- Numero de entradas máximas en el directorio raiz (limitacion del numero de archivos construidos en raiz).
- Numero de sectores ocupados por la FAT.
El directorio raiz
En el directorio principal se almacenan algunos datos de cada fichero, que comprimen para ahorrar espacio toda la informacion referida al mismo; por ejemplo, no guardar el usuario que crea (esto provoca que no se pueda establecer tamaño de cuota), ni la ultima hora de modificación.
¿Qué es la FAT?
Por definición es la tabla que nos indica, semejante a una lista enlazada, la localizacion de nuestros archivos. Cada cluster es de 512bytes, por lo que como mínimo un fichero va a ocupar 1 cluster, y como maximo n.
Al ser equivalente a una lista enlazada, el valor de cada clúster va a ser la dirección del siguiente cluster, o bien la direccion 'final'. Puede ser que haya clústeres reservados para el sistema, el resto que están libres se marcaran como disponibles (proceso que se realiza añadiendo un carácter '?' al principio del nombre).
Recordar que al ser una lista enlazada, no es necesario que los datos estén contiguos. Otra de las limitaciones es el numero de caracteres por nombre (8), de manera que todo lo sobrante lo interpreta como extensión o información adicional.
FAT32
La numeración de la FAT indica el numero de bits al que podemos redireccionar, en nuestro caso tenemos 32 bits para direccionar los bloques que ocupa un fichero.
Algunas de las ventajas o mejora que se realiza en este ultimo sistema de archivos son: optimización y rendimiento del espacio, aumento de la cadena de nombre (11), se conserva la no limitación de directorios y ficheros en el directorio raíz.
Lo principal además, es que generan una media de almacenamiento por bloque medido; a mas tamaño del volumen, mas tamaño va a tener nuestro bloque. Tener en cuenta que si hacemos bloques muy pequeños nos saldrán listas muy grandes, mientras que si hacemos los bloques muy grandes, podría haber desaprovechamiento del espacio.
NTFS
Con NTFS el objetivo es solventar todos los inconvenientes que producía FAT.
Cabe destacar antes de nada, que no es lo mismo bytes por sector que bytes por clúster. NTFS nos permite tener discos mas grandes, atributos de seguridad en archivos y carpetas, estructuras de árbol binario que acelera las búsquedas, journaling, permitir compresion y cuotas de disco, encriptación de archivos, enlaces blandos y duros, puntos de montaje, etc.
La estructura de un volumen es la siguiente
- Sector de arranque de la partición
- Tabla maestra de archivos MFT (parecido a la FAT)
- Archivos del sistema
- Área de archivos
Sector de arranque
- ¿Dónde se guarda la información de la estructura de la partición? Boot Sector (MBR)
- ¿Dónde empieza la tabla maestra?: Depende ya que puede localizarse en cualquier dirección del sistema
Estructura de la tabla Maestrea de Ficheros (MFT)
Contiene una entrada para cada ficheros almacenado. A mismo tamaño de ocupación, mayor información se almacena. Como es un fichero además puedes almacenarse en cualquier lugar, con posibilidad para crecer. ATENCION: si crece, será tratado como un fichero, lo que implica relocalización, es decir, fragmentación externa lo que reduce el rendimiento.
Otro de los problemas, es que cuando se borran registros el tamaño no se ve reducido; solamente es marcado como libre para ser reutilizado posteriormente, pero no se reduce el tamaño. Para evitar la fragmentación externa, el sistema reserva un espacio libre para dejar que el MFT crezca de manera continua. Es preferible reservar tamaño aunque no se necesite en el momento, a perder rendimiento con el paso del tiempo. Evidentemente si dicho espacio se ocupa, se procederá a buscar espacio en disco.
Existe una copia de seguridad del registro MFT en el segmento no. 1, dicho registro habilita la propia tabla. El segundo registro es el sector de arranque y el segmento no. 2 es un fichero de log. Por ejemplo el segmento no. 6, se guarda la información del estado de cada clúster del sistema, es decir, si esta libre o no.
Sistema de archivos para Linux
En este tipo de sistema, todos los archivos y carpetas cuelgan del directorio raíz, donde la mayoría de particiones van a poder ser leídas. En Linux, las particiones se montan en el sistema de archivos, y es el sistema operativo el que se encarga de leer su información, asignarle el tipo de gestor de archivos que utilice (NTFS, FAT...etc), y organizar la estructura o jerarquía de los datos. Recordar que toda esta información se encuentra en el sector de arranque (no confundir con MBR).
Al igual que NTFS tiene unas partes características
- Sector de arranque: suele ser el primer sector.
- Super-bloque: describe el estado del sistema de archivos al que pertenece (tamaño, limite, espacio libre, lista de bloques libres, etc)
- Lista de i-nodos:
I-nodo
Limita el numero de archivos que se pueden almacenar en dicho sistema, ya que guarda una entrada por cada fichero y una descripción del mismo (solo metadatos), en forma de lista nombre/i-nodo; principalmente destaca el i-nodo raíz (root), a partir del cual se accede al sistema para montar la partición. Como cada i-nodo ocupa 64B, se pueden meter varios en un bloque.
Para acceder a un archivo en particular el controlador del sistema debe buscar en un directorio el nombre del archivo y en consecuencia, el número del i-nodo correspondiente. La información que se almacena es muy útil para el control de acceso (uid, gid, mode, atime, mtime, size, etc). El sistema de direccionamiento nos permite crear archivos muy grandes, puesto que cuando se llega al limite de ocupación/bloque, el sistema genera una lista de punteros que apunta a nuevos bloques libres que, en el caso de ocuparse, volverá a generar una lista e incluso una lista de listas de punteros. Destacamos dos tipos: directo n (0, …, N), indirecto simple, doble o triple.
Apuntes Sistemas de Archivos - Introducción Windows/Linux
IES Tiempos Modernos - 26/11/2019
Comentarios
Publicar un comentario