]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - doc/informe.lyx
* Me preparo para otro tamaño de bloque
[z.facultad/75.06/emufs.git] / doc / informe.lyx
index 68b9c796db693a312ef4708b26d0caa94e37bd7b..ab091fa943ab90d69da1e1485f81b755c8056c6c 100644 (file)
@@ -43,6 +43,53 @@ Ricardo Markiewicz
 \layout Chapter
 
 Introducción
 \layout Chapter
 
 Introducción
+\layout Standard
+
+Esta es la documentación correspondiente a las API`s para el manejo de tres
+ organizaciones de archivo diferentes.
+ A continuación se describe cada una de ellas y su modo de funcionamiento
+ y sus características principales.
+ De la correcta elección de la organización, dependerá la eficiencia de
+ la aplicación que la utilice.
+\layout Standard
+
+EMUFS se presenta como un 
+\emph on 
+emulador
+\emph default 
+ de un 
+\emph on 
+filesystem
+\emph default 
+, capaz de administrar datos almacenados en cualquiera de las tres organizacione
+s de archivo previamente mencionadas, las cuales a saberse son:
+\layout Enumerate
+
+Registros de Longitud Variable, Bloques de tamaño parametrizable
+\layout Enumerate
+
+Registros de Longitud Variable, Sin Bloques
+\layout Enumerate
+
+Registros de Longitud Fija, Bloques de tamaño parametrizables
+\layout Standard
+
+A través de este trabajo, se podrán observar las diferencias entre distintos
+ tipos de organización de archivos, ventajas y desventajas de cada una de
+ ellas, y las situaciones particulares que deberá sortear un filesystem,
+ como la partición de registros en distintos bloques, manejo de espacio
+ libre, compactación de un archivo, etc.
+\layout Standard
+
+A continuación, veremos que el manejo de los archivos en EMUFS se realiza
+ a través de una estructura de control comun para cualquier tipo de archivo,
+ dandole flexibilidad y escalabilidad a nuestro sistema.
+\layout Standard
+
+Hacia el final de esta presentación, se observaran las pruebas realizadas
+ con las distintas organizaciones de archivos, y las conclusiones obtenidos
+ al respecto.
 \layout Chapter
 
 Estructura común
 \layout Chapter
 
 Estructura común
@@ -688,13 +735,7 @@ Esto har
 articulos.dat
 \series default 
 , con la organización física tipo 3 con registros de longitud fija de 50
 articulos.dat
 \series default 
 , con la organización física tipo 3 con registros de longitud fija de 50
- bytes y bloques de 200 bytes (si el archivo ya existiaera, puede ser abierto
- con la función 
-\family typewriter 
-emufs_abrir()
-\family default 
-, pasando como parámetro sólo el nombre de archivo, la función autodetecta
- el tipo de archivo y sus datos adicionales).
+ bytes y bloques de 200 bytes.
  Al mismo tiempo, los se asginarán valores a los punteros a funciones que
  posee dicha estructura, la cual de ahora en más estará en condiciones de
  manejar un archivo del tipo 3.
  Al mismo tiempo, los se asginarán valores a los punteros a funciones que
  posee dicha estructura, la cual de ahora en más estará en condiciones de
  manejar un archivo del tipo 3.
@@ -705,7 +746,7 @@ emufs_abrir()
 \begin_inset Float figure
 placement H
 wide false
 \begin_inset Float figure
 placement H
 wide false
-collapsed false
+collapsed true
 
 \layout Caption
 
 
 \layout Caption
 
@@ -729,7 +770,7 @@ As
  sucedera lo siguiente:
 \layout LyX-Code
 
  sucedera lo siguiente:
 \layout LyX-Code
 
-efs->leer_registro(params) -- llama a -->  emufs_tipo3_leer_registro(params)
+efs->leer_registro(params) -- calls -->  emufs_tipo3_leer_registro(params)
 \layout Standard
 
 Como se puede observar, la estructura 
 \layout Standard
 
 Como se puede observar, la estructura 
@@ -739,12 +780,6 @@ EMUFS
  permitirá el manejo de cualquier tipo de archivo, a través del mismo código,
  dandole gran flexibilidad a nuestro sistema, que podrá expandirse a más
  tipos de archivos de ser necesario.
  permitirá el manejo de cualquier tipo de archivo, a través del mismo código,
  dandole gran flexibilidad a nuestro sistema, que podrá expandirse a más
  tipos de archivos de ser necesario.
-\layout Standard
-
-Finalmente hay otra función estática que sirve para destruir la estructura,
- liberando su memoria: 
-\family typewriter 
-emufs_destruir()
 \layout Chapter
 
 Archivos Auxiliares
 \layout Chapter
 
 Archivos Auxiliares
@@ -2274,6 +2309,9 @@ Esta implementaci
 Ver:
 \family typewriter 
  emufs_tipo1_compactar()
 Ver:
 \family typewriter 
  emufs_tipo1_compactar()
+\layout Section
+
+Detalles de implementación (funciones internas, ver si lo ponemos o no)
 \layout Chapter
 
 
 \layout Chapter
 
 
@@ -2348,7 +2386,7 @@ o freespace
 \begin_inset Float figure
 placement H
 wide false
 \begin_inset Float figure
 placement H
 wide false
-collapsed true
+collapsed false
 
 \layout Caption
 
 
 \layout Caption
 
@@ -3455,6 +3493,29 @@ Luego de grabar un registro, actualiza los archivos de 
  para mantener la coherencia.
 \layout Standard
 
  para mantener la coherencia.
 \layout Standard
 
+Cuando nos encontramos con registros multibloque, se calcula cuantos bloques
+ ocupará el registro de la siguiente manera: 
+\family typewriter 
+Cantidad de Bloques = 1 + Tamaño del Registro/(Tamaño del Bloque-Sizeof(EMUFS_RE
+G_ID)
+\layout Standard
+
+Esta ecuación solo falla en el caso que el tamaño del registro y el tamaño
+ del bloque sean iguales, en tal caso, se coloca el valor 1 en 
+\family typewriter 
+Cantidad de Bloques
+\family default 
+ post verificación.
+\layout Standard
+
+Y con esta información se realiza un ciclo 
+\family typewriter 
+for
+\family default 
+ que grabará tantas veces como sea necesario levantando y grabando los bloques
+ que correspondan.
+\layout Standard
+
 Ver: 
 \family typewriter 
 emufs_tipo3_grabar_registro()
 Ver: 
 \family typewriter 
 emufs_tipo3_grabar_registro()
@@ -3479,6 +3540,11 @@ Cabe destacar que para dar de baja un registro no hace falta borrarlo del
  ser así, si no se realizara el mismo.
 \layout Standard
 
  ser así, si no se realizara el mismo.
 \layout Standard
 
+En el caso de los registros multibloque, se eliminará la porción del registro
+ contenida en el primer bloque y se actualizarán de manera conveniente los
+ archivos índice, para restaurarlos a un valor verdadero.
+\layout Standard
+
 Ver: 
 \family typewriter 
 emufs_tipo3_borrar_registro()
 Ver: 
 \family typewriter 
 emufs_tipo3_borrar_registro()