]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - doc/informe.lyx
agrego algo de info
[z.facultad/75.06/emufs.git] / doc / informe.lyx
index f25411c771e74b48d8f0eb94bbdff9f4322fd635..81edbd28369c317d7040e7f863a588bcc3bb86b6 100644 (file)
@@ -375,8 +375,6 @@ s que pasamos a detallar (m
  cant bloques, tam archivo, etc):
 \layout Itemize
 
-
-\emph on 
 Relación entre espacio libre y el tamaño del archivo de datos (
 \series bold 
 .dat
@@ -1403,7 +1401,11 @@ emufs_did_agregar()
 \layout List
 \labelwidthstring 00.00.0000
 
-Baja Cuando el sistema desee grabar un nuevo registro en el archivo de datos,
+
+\series bold 
+Baja
+\series default 
+ Cuando el sistema desee grabar un nuevo registro en el archivo de datos,
  este pedirá un 
 \family typewriter 
 id_reg
@@ -2081,16 +2083,17 @@ El archivo indice (
 \series bold 
 .idx
 \series default 
-), permite la localizacin de los registros en el .DAT de forma directa, mediante
- la obtención de su offset o posición relativa respecto del inicio del 
+), permite la localización de los registros en el .DAT de forma directa,
+ mediante la obtención de su offset o posición relativa respecto del inicio
+ del 
 \series bold 
 .dat
 \series default 
  en donde se encuentra un registro dado, indicado por su ID.
 \layout Standard
 
-Así pues, si tomamos el ejemplo descripto al inicio de este capítudlo, tendremos
- las siguientes entradas en el archivo indice 
+Así pues, si tomamos el ejemplo descripto al inicio de este capítulo, tendremos
+ las siguientes entradas en el archivo índice 
 \series bold 
 .idx
 \series default 
@@ -2222,12 +2225,12 @@ te luego del header tendremos el registro en s
 Achivo de Gaps / Espacios Libres (.fsc)
 \layout Standard
 
-El archivo de espacios libres o gaps (.fsc), tiene como función la administracion
+El archivo de espacios libres o gaps (.fsc), tiene como función la administración
  del espacio libre o gaps (agujeros), generados por previas eliminaciones
  de registros en el archivo de datos.
  El mismo, nos indicará donde hay lugar para insertar un nuevo registro
  (se podrán insertar en algún gap acorde, o bien al final del archivo).
- Este archivo será utilizado tambien para el proceso de compactación de
+ Este archivo será utilizado tambien para el proceso de compactación de
  un archivo, explicado luego.
 \layout Standard
 
@@ -2335,7 +2338,11 @@ Nota:
 \emph default 
  Por requerimiento del algoritmo de compactación, los gaps se graban en
  forma ordenada en el (.fsc).
- (El orden se corresponde con lo que hay en el .dat)
+ (El orden se corresponde con lo que hay en el 
+\series bold 
+.dat
+\series default 
+.
 \layout Subsubsection*
 
 GAP Merging
@@ -2982,6 +2989,17 @@ En este caso veremos que sucede luego de agregar y borrar una gran cantidad
  de registros del archivo, lo que provoca como consecuencia directa la fragmenta
 ción del archivo, es decir, quedan huecos entre un registro y otro, lo que
  produce un desperdicio de espacio.
+\layout Standard
+
+La implementación de este tipo de archivo puede ser encontrada en 
+\family typewriter 
+emufs/tipo3.c
+\family default 
+ mientras que su interfaz pública está disponible en 
+\family typewriter 
+emufs/tipo3.h
+\family default 
+.
 \layout Section
 
 Organización Física
@@ -2995,25 +3013,62 @@ Esta organizaci
 
 Así como los graba, también tendrá la posibilidad de leer registros y borrarlos
  del archivo.
+\layout Standard
+
+El archivo estara compuesto por una cabecera que da información sobre el
+ tipo de organización, el tamaño de los bloques y el tamaño de los registros.
 \layout Subsection
 
-Comportamiento Particular de los Archivos Auxiliares
-\layout Subsubsection
+Organización Física de un Bloque
+\layout Standard
 
-Archivo de Bloques y Registros (.idx)
-\layout Comment
+Cada bloque será capaz de contener la cantidad de registros enteros que
+ quepan en él.
+ De esta manera un registro que no entre completamente en el bloque deberá
+ almacenarce en un bloque diferente.
+\layout Standard
 
-buscar algun caso extraordinario.
-\layout Subsubsection
+Los bloques no contienen ninguna información adicional, solo se conoce su
+ tamaño y se usa para delimitar 
+\begin_inset Quotes eld
+\end_inset 
 
-Archivo de Bloques y Espacio Libre (.fsc)
-\layout Subsubsection
+virtualmente
+\begin_inset Quotes erd
+\end_inset 
+
+ zonas en el archivo.
+\layout Subsection
 
-Archivo de Id`s Borrados (.did)
+Organizacion Física de Registros
 \layout Standard
 
-El comportamiento de este archivo, es común para todas las organizaciones
- y se ha explicado en 3.3.2.
+Cada registro se almacena en un bloque, y contiene una cabecera que indica
+ su 
+\emph on 
+ID, 
+\emph default 
+por este motivo al realizar la busqueda de espacio en un bloque se lo hará
+ preguntando por el tamaño del registro más 
+\family typewriter 
+sizeof(EMUFS_REG_ID).
+\layout Subsection
+
+Organización Física de Registros Multibloque
+\layout Standard
+
+Al ser los registros de longitud constante, se ha adoptado que un registro
+ multibloque nunca podra estar almacenado en algún lugar que no sea el comienzo
+ de un bloque.
+ De esta manera se puede calcular cuantos bloques ocupará un registro y
+ se podrá solicitar lugar para almacenarlo con la ayuda de la función 
+\family typewriter 
+emufs_fsc_buscar_n_lugares(), 
+\family default 
+que es muy importante para evitar el solapamiento de registros.
+ Esta consideración acarrea como consecuencia directa un alto costo en términos
+ del espacio desperdiciado.
 \layout Section
 
 Funciones Principales
@@ -3166,9 +3221,6 @@ void emufs_tipo3_compactar()
 \layout Section
 
 Consideraciones y Políticas de Diseño
-\layout Comment
-
-Esto para mi va en organización física.
 \layout Standard
 
 Se han tomado ciertas consideraciones para algunos casos particulares que