]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - doc/informe.lyx
subo lo de rich mas lo mio, espero que se haya bancado el merge
[z.facultad/75.06/emufs.git] / doc / informe.lyx
index 4c38cddbdfa2a2404b608ec3c14052a73c508190..3645bb977ee42323511a4ed4665a32ff6949743d 100644 (file)
@@ -244,7 +244,7 @@ Organizaci
 El tipo EMUFS_IDX define la estuctura de los registros de este archivo.
 \layout Standard
 
-Esta estructura está compuesta por don enteros (long).
+Esta estructura está compuesta por:
 \layout Itemize
 
 EMUFS_REG_ID reg_id indica el 
@@ -274,6 +274,38 @@ Comportamiento (funciones generales)
 \end_inset 
 
 Archivo de control de espacio libre
+\layout Standard
+
+El archivo de de espacios libres permite decidir a la hora de guardar un
+ registro, donde será guardado.
+\layout Standard
+
+La estructura de este archivo está formada por un número que indica el bloque
+ y otro que indica el espacio libre en él.
+\layout Standard
+
+De esta manera al querer guardar un registro este archivo informará donde
+ cabe el mismo, previa invocación al la función 
+\emph on 
+EMUFS_BLOCK_ID emufs_fsc_buscar_lugar(EMUFS *, EMUFS_FREE, EMUFS_FREE*)
+\emph default 
+ perteneciente a fsc.h, la cual devuelve el número de bloque donde entra
+ el registro o -1 si no hay un bloque con lugar suficiente, y toma como
+ parámetros una estructura 
+\emph on 
+EMUFS
+\emph default 
+, y dos 
+\emph on 
+EMUFS_FREE
+\emph default 
+ donde el segndo parámetro es el tamaño buscado, y el tercero devuelve el
+ tamaño disponible.
+\layout Standard
+
+De la misma manera, al borrar un registro este archivo debe ser actualizado
+ colocando el nuevo espacio libre en el bloque.
 \layout Subsection
 
 Organización Física
@@ -282,7 +314,7 @@ Organizaci
 La estuctura que define este archivo es la siguiente:
 \layout Standard
 
-EMUFS_FSC que contiene
+EMUFS_FSC que contiene:
 \layout Itemize
 
 EMUFS_BLOCK_ID indica el número de bloque
@@ -290,6 +322,14 @@ EMUFS_BLOCK_ID indica el n
 
 EMUFS_FREE freespace indica la cantidad de espacio libre que queda en el
  bloque.
+\layout Standard
+
+EMUFS_FSC y EMUFS_FREE son 
+\emph on 
+unsiged long int
+\layout Subsection
+
+Comportamiento
 \layout Section
 
 
@@ -300,10 +340,74 @@ EMUFS_FREE freespace indica la cantidad de espacio libre que queda en el
 Archivo de índices recuperables
 \layout Standard
 
+<<<<<<< .mine
+Este archivo funciona como una pila de id`s borrados, es decir, cuando se
+ borra un registro el 
+\emph on 
+id
+\emph default 
+ se almacena en este archivo y será recuperado cuando se desee grabar un
+ registro nuevo, de esta manera se aprovechan todos los 
+\emph on 
+id`s
+\emph default 
+ sin necesidad de crear uno nuevo cada vez que se borra y graba un registro.
+\layout Subsection
+
+Estructura Física
+\layout Standard
+
+Este archivo tiene registros de un solo campo, EMUFS_REG_ID el cual simboliza
+ al id almacenado.
+\layout Subsection
+
+Comportamiento
+\layout Standard
+
+Las declaraciones e implementación se pueden encontrar en 
+\emph on 
+did.h
+\emph default 
+ y 
+\emph on 
+did.c
+\emph default 
+ respectivamente
+\layout Itemize
+
+
+\series bold 
+Agregar: 
+\series default 
+agrega un 
+\emph on 
+id 
+\emph default 
+al archivo, el cual será el primero recuperado.
+\emph on 
+ver: emufs_did_agregar()
+\layout Itemize
+
+
+\series bold 
+Obtener el último:
+\series default 
+ Obtiene el último 
+\emph on 
+id
+\emph default 
+ que se guardó en el archivo (o se eliminó del archivo de datos), y trunca
+ el archivo.
+\emph on 
+ver: emufs_did_get_last()
+=======
 (.did)
 \layout Standard
 
 idem anterior
+>>>>>>> .r356
 \layout Chapter
 
 
@@ -1070,48 +1174,13 @@ buscar algun caso extraordinario.
 \layout Subsubsection
 
 Archivo de Bloques y Espacio Libre (.fsc)
-\layout Standard
-
-El archivo de de espacios libres permite decidir a la hora de guardar un
- registro, donde será guardado.
-\layout Standard
-
-La estructura de este archivo está formada por un número que indica el bloque
- y otro que indica el espacio libre en él.
-\layout Standard
-
-De esta manera al querer guardar un registro este archivo informará donde
- cabe el mismo, previa invocación al la función 
-\emph on 
-EMUFS_BLOCK_ID emufs_fsc_buscar_lugar(EMUFS *, EMUFS_FREE, EMUFS_FREE*)
-\emph default 
- perteneciente a fsc.h, la cual devuelve el número de bloque donde entra
- el registro o -1 si no hay un bloque con lugar suficiente, y toma como
- parámetros una estructura 
-\emph on 
-EMUFS
-\emph default 
-, y dos 
-\emph on 
-EMUFS_FREE
-\emph default 
- donde el segndo parámetro es el tamaño buscado, y el tercero devuelve el
- tamaño disponible.
-\layout Standard
-
-De la misma manera, al borrar un registro este archivo debe ser actualizado
- colocando el nuevo espacio libre en el bloque.
 \layout Subsubsection
 
 Archivo de Id`s Borrados (.did)
 \layout Standard
 
-Este archivo funciona como una pila de id`s borrados, es decir, cuando se
- borra un registro el id se almacena en este archivo y será recuperado cuando
- se desee grabar un registro nuevo, de esta manera se aprovechan todos los
- id`s sin necesidad de crear uno nuevo cada vez que se borra y graba un
- registro.
+El comportamiento de este archivo, es común para todas las organizaciones
+ y se ha explicado en 3.3.2.
 \layout Section
 
 Funciones Principales
@@ -1183,7 +1252,13 @@ Borra un registro del archivo de datos, para esto levanta el bloque al que
 
 Cabe destacar que para dar de baja un registro no hace falta borrarlo del
  archivo de datos, solo es necesario borrar las entradas en los archivos
- de índice.
+ de índice, pero cuando se realiza el ajuste el algoritmo toma porciones
+ del bloque del tamaño de un registro mas su encabezado - comenzando desde
+ el siguiente al que fue borrado - y copia (sobreescribe) sobre el anterior.
+ De esta manera, la información correspondiente al registro borrado no estará
+ presente en el archivo de datos.
+ Esto es una consecuencia del ajuste al borrar un registro, pudiendo no
+ ser así, si no se realizara el mismo.
 \layout Subsubsection
 
 Leer Estadísticas