]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
Added 2.3: Uso de la estructura EMUFS
authorAlan Kennedy <kennedya@3dgames.com.ar>
Mon, 19 Apr 2004 08:42:07 +0000 (08:42 +0000)
committerAlan Kennedy <kennedya@3dgames.com.ar>
Mon, 19 Apr 2004 08:42:07 +0000 (08:42 +0000)
doc/informe.lyx

index 1084ef8357f3a9353f67bebcf67aff972ee24de0..646add85163e7a25ffed0e75e48f436d5fe5c97b 100644 (file)
@@ -194,10 +194,12 @@ facturas
 \begin_inset Quotes erd
 \end_inset 
 
 \begin_inset Quotes erd
 \end_inset 
 
- organizado de la forma 3, se invoca a la función 
+ organizado de la forma 3, se invoca a la función:
+\layout Standard
+
+
 \family typewriter 
 \family typewriter 
-EMUFS *emufs_crear(const char *filename, EMUFS_Tipo tipo,EMUFS_BLOCK_SIZE
- tam_bloque, EMUFS_REG_SIZE tam_reg), 
+emufs_crear(filename,tipo,tam_bloque,tam_reg), 
 \family default 
 donde
 \family typewriter 
 \family default 
 donde
 \family typewriter 
@@ -256,15 +258,27 @@ emufs.h.
 
 A saberse los valores y significado correspondiente que puede tomar este
  tipo de dato son:
 
 A saberse los valores y significado correspondiente que puede tomar este
  tipo de dato son:
-\layout Enumerate
+\layout Itemize
 
 
-Archivos con registros de longitud variable y bloques parametrizables.
-\layout Enumerate
 
 
-Archivos con registros de longitud variable sin bloques.
-\layout Enumerate
+\series bold 
+T1
+\series default 
+ : Archivos con registros de longitud variable y bloques parametrizables.
+\layout Itemize
+
 
 
-Archivos con registros de longitud fija y bloques parametrizables.
+\series bold 
+T2
+\series default 
+ : Archivos con registros de longitud variable sin bloques.
+\layout Itemize
+
+
+\series bold 
+T3
+\series default 
+ : Archivos con registros de longitud fija y bloques parametrizables.
 \layout Subsection
 
 EMUFS_Estadisticas
 \layout Subsection
 
 EMUFS_Estadisticas
@@ -362,7 +376,7 @@ unsigned long
 \layout Standard
 
 En base a la estructura descripta anteriormente y mediante la utilización
 \layout Standard
 
 En base a la estructura descripta anteriormente y mediante la utilización
- de la función 
+ de la función de lectura de estadísticas l
 \family typewriter 
 emufs_leer_estadisticas()
 \family default 
 \family typewriter 
 emufs_leer_estadisticas()
 \family default 
@@ -558,6 +572,132 @@ archivo
 \layout LyX-Code
 
 /- 4 bytes -/
 \layout LyX-Code
 
 /- 4 bytes -/
+\layout Section
+
+Uso de la estructura EMUFS
+\layout Standard
+
+Como fue mencionado anteriormente en la descripción de la estructura EMUFS,
+ la misma proporciona al usuario una interfaz a través de la cual puede
+ realizar el manejo de archivos en forma genérica, abstrayéndose del tipo
+ de organización física en particular que dicho archivo posea.
+ Se la declara en 
+\series bold 
+emufs.h
+\series default 
+ y las funciones que inicializan la estructura se encuentran en 
+\series bold 
+emufs.c
+\layout Standard
+
+Es decir que a traves de esta estructura, podemos manejar cualquier tipo
+ de archivo, mediante una misma interfaz en común.
+ La estructura 
+\family typewriter 
+EMUFS 
+\family default 
+posee además de ciertos datos que describen la organización física de un
+ archivo dado como por ejemplo 
+\series bold 
+\emph on 
+tamaño de registro
+\series default 
+\emph default 
+, 
+\series bold 
+\emph on 
+tamaño de bloque
+\series default 
+\emph default 
+ y 
+\series bold 
+\emph on 
+nombre del archivo
+\series default 
+\emph default 
+, una serie de punteros a funciones para el manejo del archivo del cual
+ es handler:
+\layout Standard
+
+Entre dichos funciones se encuentran: 
+\family typewriter 
+leer_registro()
+\family default 
+, 
+\family typewriter 
+leer_bloque(), borrar_registro()
+\family default 
+, 
+\family typewriter 
+agregar_registro()
+\family default 
+, 
+\family typewriter 
+modificar_registro, leer_estadisticas()
+\family default 
+, 
+\family typewriter 
+compactar().
+\layout Standard
+
+Para entender mejor el uso de esta estructura para el manejo de los archivos,
+ mostraremos un ejemplo concreto.
+ Supongamos que tenemos el siguiente código:
+\layout LyX-Code
+
+EMUFS *efs = emufs_crear(¨articulos.dat¨,T3,200,50);
+\layout Standard
+
+Esto hará que se cree el archivo de datos 
+\series bold 
+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.
+ 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.
+ Gráficamente lo que sucede es:
+\layout Standard
+
+
+\begin_inset Float figure
+placement H
+wide false
+collapsed true
+
+\layout Caption
+
+Inicialización de estructura EMUFS para un caso Archivo Tipo 3
+\layout Standard
+\align center 
+
+\begin_inset Graphics
+       filename graphics/Emufsinit.png
+       scale 80
+
+\end_inset 
+
+
+\end_inset 
+
+
+\layout Standard
+
+Así pues, cuando se utilize la estructura para por ejemplo leer un registro,
+ sucedera lo siguiente:
+\layout LyX-Code
+
+efs->leer_registro(params) -- calls -->  emufs_tipo3_leer_registro(params)
+\layout Standard
+
+Como se puede observar, la estructura 
+\family typewriter 
+EMUFS
+\family default 
+ 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 Chapter
 
 Archivos Auxiliares
 \layout Chapter
 
 Archivos Auxiliares
@@ -2166,7 +2306,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