X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/dc1d6d2ce387d0563612e569d4ff6e16dbc332e7..89b4b53a904b13f4148decac07226be7017a76a2:/doc/informe.lyx?ds=sidebyside diff --git a/doc/informe.lyx b/doc/informe.lyx index 1084ef8..646add8 100644 --- a/doc/informe.lyx +++ b/doc/informe.lyx @@ -194,10 +194,12 @@ facturas \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 -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 @@ -256,15 +258,27 @@ emufs.h. 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 @@ -362,7 +376,7 @@ unsigned long \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 @@ -558,6 +572,132 @@ archivo \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 @@ -2166,7 +2306,7 @@ o freespace \begin_inset Float figure placement H wide false -collapsed true +collapsed false \layout Caption