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.