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
\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
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
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
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
\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
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