domingo, 8 de enero de 2012

3.1. Los 4 componentes principales: boot, super-bloque, lista nodos índice, bloque de datos


Estructura de un Sistema de Archivos.

Cada sistema de archivos consta fundamentalmente de las siguientes partes:
  • Boot (bloque de arranque) :
    Ocupa la parte del principio del sistema de archivos, normalmente el primer sector, y puede contener el código de boot o de arranque. Este código es un pequeño programa que se encarga de buscar el sistema operativo y cargarlo en memoria.
  • Super-bloque:
    Ocupa el primer bloque lógico del disco y describe el estado del sistema de archivos. En el súper bloque se almacena la siguiente información del sistema de archivos:
    • El tamaño del sistema de archivos.
    • Número de bloques libres disponibles en el sistema de archivos.
    • Lista de bloques libres sistema de archivos.
    • Índice del siguiente bloque libre de la lista de bloques libres.
    • Tamaño de la lista de i-nodos.
    • Numero total de i-nodos libres en el sistema de archivos.
    • Lista de i-nodos libres en el sistema de archivos.
    • Indice al siguiente i-nodo libre en la lista de i-nodos libres.
    • Indicador que informa que el superbloque ha sido modificado
  • Lista nodos índice (lista de i-nodos):
    Se encuentra a continuación del superbloque.
    Contiene una etrada por cada archivo, donde se guarda una descripcion del mismo:
    • Identificador del propietario del archivo y del grupo al que pertenece.
    • Tipo de archivo.
    • Derechos de acceso. Se reservan nueve bits para representar los derechos de lectura, escritura y ejecución (rwx) para el propietario, el grupo y el resto, y otros tres bits para definir si están o no activas las banderas setuid, setgid y sticky bit.
    • Fecha de la última modificación.
    • Contador de enlaces (links).
    • Tamaño del archivo.
    • Entradas para los bloques de dirección.
  • Bloque de datos:
    Empieza a continuación de la lista i-nodos y ocupa el resto del sistema de archivos. En esta zona es donde se encuentra situado el contenido de los archivos a los que se hace referencia la lista de i-nodos. Cada uno de los bloques destinados a datos sólo puede ser asignado a un archivo, tanto si lo ocupa totalmente como si no.
Cada vez que un proceso accede a un archivo es necesario consultar el superbloque y la lista de i-nodos. Para evitar el acceso a disco continuamente, el sistema tiene siempre en memoria una copia del superbloque y la tabla de i-nodos. Esto plantea problemas de incostencia de los datos, así que un demonio se encarga de escribir periodicamente el superbloque y la lista de i-nodos en el disco si se han modificado.

Bibliografía
También en pdf.