<< >> Título

2. Visión general del sistema

2.1 Arquitectura en dos niveles del SFB

El programa actual implementa un sistema de ficheros muy básico. Este sistema de ficheros se soporta sobre un archivo regular UNIX, que actuará a modo de disco virtual. Se ofrece una interfaz, llamada nivel de bloques físicos (NBF), definida en sffisico.h y que ofrece primitivas para leer y escribir bloques físicos de ese disco virtual. (Ustedes no deberán tocar este módulo, sólo usar sus servicios).

En el nivel de bloques físicos, los datos del disco virtual se organizan en forma de una secuencia de bloques de tamaño fijo, numerados de cero en adelante. A cada bloque de datos lo llamaremos bloque físico.

Por encima del nivel de bloques físicos, se encuentra el sistema de ficheros propiamente dicho, llamado sistema de ficheros básico (SFB). El SFB utiliza la interfaz de sffisico.h para trabajar con el disco virtual. En la implementación actual, el sistema de ficheros básico organiza el disco virtual en varias zonas: un bloque con la información del sistema, una zona con los descriptores de ficheros, y una zona de bloques de datos, según se expone más adelante.

El sistema de ficheros básico no es un programa autónomo. Es una biblioteca de funciones que pueden emplear en programas escritos por ustedes. Para servir de ejemplo y pruebas, con la distribución de muestra se acompañan algunos programas que hacen uso de los servicios del SFB.

2.2 Módulos que componen el programa

El programa actual reside en el directorio /prac/sfb, visible en la máquina SOPA y los PC del laboratorio. En él se encuentran la interfaz y la implementación del programa, así como algunos programas simples de ejemplo.

2.2.1 Interfaces públicas

errores.h Códigos de error

extrasfb.h Interfaz con el SFB (servicios añadidos por ustedes)

sfbasico.h Interfaz con el Sistema de Ficheros Básico

sffisico.h Interfaz con los bloques físicos

tipos.h Tipos básicos del programa

2.2.2 Implementación

bfb.h Bloques de fichero básico (interfaz)

bfb.c Bloques de fichero básico (implementación)

descr.h Descriptor de sistema de ficheros (interfaz)

descr.c Descriptor de sistema de ficheros (implementación)

errores.c Mensajes de error (implementación)

sfbasico.c Implementación del Sistema de Ficheros Básico

sffisico.c Implementación del nivel de bloques físicos

2.2.3 Makefile y pruebas

Estos ficheros se hallan en el directorio /prac/sfb/pruebas. Son programas muy simples que emplean los servicios del Sistema de Ficheros Básico, y que les servirán a la vez como ejemplos y como programas de prueba para sus modificaciones.

makefile Para compilar las pruebas

borra.c Borra un fichero básico

crea.c Crea un fichero básico

creasf.c Instala y da formato a un disco virtual

dire.c Muestra el directorio de un disco

escribe.c Escribe un bloque en un fichero básico

lee.c Lee un bloque de un fichero básico

machaca.c Programa que somete a prueba el SFB


<< >> Título