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.
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.
errores.h
|
Códigos
de error
|
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
|
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)
|
sfbasico.c
|
Implementación
del Sistema de Ficheros Básico
|
sffisico.c
|
Implementación
del nivel de bloques físicos
|
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
|
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
|