]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - doc/informe.lyx
pequeña introduccion para que no quede vacio ese campo
[z.facultad/75.06/emufs.git] / doc / informe.lyx
index 646add85163e7a25ffed0e75e48f436d5fe5c97b..5b08ea9143f46b8be2802cabb45f6c678c43cd2e 100644 (file)
@@ -43,6 +43,15 @@ 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 Chapter
 
 Estructura común
 \layout Chapter
 
 Estructura común
@@ -62,6 +71,73 @@ EMUFS
  prooverá una interfaz (funciones) para su manejo).
 \layout Subsection
 
  prooverá una interfaz (funciones) para su manejo).
 \layout Subsection
 
+Tipos Comunes
+\layout Standard
+
+En la implementación de cada tipo de organización física, así como tambien
+ en las API de los archivos auxiliares comunes a ellas, se da la utilización
+ de tipo definidos para una clara interfaz entre las mismas, los cuales
+ son brevemente descriptos a continuación y pueden ser hallados en el archivo
+\series bold 
+emufs.h
+\series default 
+:
+\layout Itemize
+
+
+\family typewriter 
+EMUFS_REG_ID
+\family default 
+: usado para representar un 
+\emph on 
+Id
+\emph default 
+ de un registro.
+\layout Itemize
+
+
+\family typewriter 
+EMUFS_REG_SIZE
+\family default 
+: usado para representar el tamaño en bytes de un registro.
+\layout Itemize
+
+
+\family typewriter 
+EMUFS_BLOCK_ID
+\family default 
+: usado para representar un número de bloque.
+\layout Itemize
+
+
+\family typewriter 
+EMUFS_BLOCK_SIZE
+\family default 
+: usado para representar el tamaño en bytes de un bloque.
+\layout Itemize
+
+
+\family typewriter 
+EMUFS_FREE
+\family default 
+: usado para representar espacio libre en bytes.
+\layout Itemize
+
+
+\family typewriter 
+EMUFS_OFFSET
+\family default 
+: usado para representar un offset.
+\layout Standard
+
+Todos son del tipo 
+\family typewriter 
+unsigned long
+\family default 
+.
+\layout Subsection
+
 EMUFS
 \layout Standard
 
 EMUFS
 \layout Standard
 
@@ -304,60 +380,91 @@ y la misma cuenta con los siguiente campos:
 \family typewriter 
 unsigned long
 \family default 
 \family typewriter 
 unsigned long
 \family default 
- tam_archivo: indica el tamaño del archivo de datos (.dat) en bytes.
+\family typewriter 
+tam_archivo
+\family default 
+: indica el tamaño del archivo de datos (.dat) en bytes.
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
- tam_archivos_aux: indica el tamaño de los archivos auxiliares sumados en
- bytes.
+\family typewriter 
+tam_archivos_aux
+\family default 
+: indica el tamaño de los archivos auxiliares sumados en bytes.
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
- tam_info_control_dat: indica la cantidad de bytes en información de control
- utilizados para el archivo.
+\family typewriter 
+tam_info_control_dat
+\family default 
+: indica la cantidad de bytes en información de control utilizados para
+ el archivo.
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
- media_fs: promedio de espacio libre en el archivo de datos (por bloque
- o gap promedio segun la org)
+\family typewriter 
+media_fs
+\family default 
+: promedio de espacio libre en el archivo de datos (por bloque o gap promedio
+ segun la org)
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
- total_fs: total de espacio libre en el archivo de datos.
+\family typewriter 
+total_fs
+\family default 
+: total de espacio libre en el archivo de datos.
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
- max_fs: máximo espacio libre en el archivo de datos (en un bloque o máximo
- gap segun la org).
+\family typewriter 
+max_fs
+\family default 
+: máximo espacio libre en el archivo de datos (en un bloque o máximo gap
+ segun la org).
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
- min_fs: idem pero mínimo.
+\family typewriter 
+min_fs
+\family default 
+: idem pero mínimo.
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
 \layout Itemize
 
 
 \family typewriter 
 unsigned long
 \family default 
- cant_bloques: cantidad de bloques en el archivo de datos (.
+\family typewriter 
+cant_bloques
+\family default 
+: cantidad de bloques en el archivo de datos (.
 \series bold 
 dat
 \series default 
 \series bold 
 dat
 \series default 
@@ -368,7 +475,11 @@ dat
 \family typewriter 
 unsigned long
 \family default 
 \family typewriter 
 unsigned long
 \family default 
- cant_registros: cantidad de registros en el archivo de datos (
+\family typewriter 
+cant_registros
+\family default 
+: cantidad de registros en el archivo de datos (
 \series bold 
 .dat
 \series default 
 \series bold 
 .dat
 \series default 
@@ -409,73 +520,6 @@ Cantidad promedio de espacio libre (en bloque o gap promedio)
 
 Desviaciones extremas de espacio libre (máximo/mínimo espacio libre en bloque
  o mayor/menor gap)
 
 Desviaciones extremas de espacio libre (máximo/mínimo espacio libre en bloque
  o mayor/menor gap)
-\layout Subsection
-
-Tipos Comunes
-\layout Standard
-
-En la implementación de cada tipo de organización física, así como tambien
- en las API de los archivos auxiliares comunes a ellas, se da la utilización
- de tipo definidos para una clara interfaz entre las mismas, los cuales
- son brevemente descriptos a continuación y pueden ser hallados en el archivo
-\series bold 
-emufs.h
-\series default 
-:
-\layout Itemize
-
-
-\family typewriter 
-EMUFS_REG_ID
-\family default 
-: usado para representar un 
-\emph on 
-Id
-\emph default 
- de un registro.
-\layout Itemize
-
-
-\family typewriter 
-EMUFS_REG_SIZE
-\family default 
-: usado para representar el tamaño en bytes de un registro.
-\layout Itemize
-
-
-\family typewriter 
-EMUFS_BLOCK_ID
-\family default 
-: usado para representar un número de bloque.
-\layout Itemize
-
-
-\family typewriter 
-EMUFS_BLOCK_SIZE
-\family default 
-: usado para representar el tamaño en bytes de un bloque.
-\layout Itemize
-
-
-\family typewriter 
-EMUFS_FREE
-\family default 
-: usado para representar espacio libre en bytes.
-\layout Itemize
-
-
-\family typewriter 
-EMUFS_OFFSET
-\family default 
-: usado para representar un offset.
-\layout Standard
-
-Todos son del tipo 
-\family typewriter 
-unsigned long
-\family default 
-.
 \layout Section
 
 
 \layout Section
 
 
@@ -653,7 +697,13 @@ 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.
+ 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).
  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.
@@ -664,7 +714,7 @@ articulos.dat
 \begin_inset Float figure
 placement H
 wide false
 \begin_inset Float figure
 placement H
 wide false
-collapsed true
+collapsed false
 
 \layout Caption
 
 
 \layout Caption
 
@@ -688,7 +738,7 @@ As
  sucedera lo siguiente:
 \layout LyX-Code
 
  sucedera lo siguiente:
 \layout LyX-Code
 
-efs->leer_registro(params) -- calls -->  emufs_tipo3_leer_registro(params)
+efs->leer_registro(params) -- llama a -->  emufs_tipo3_leer_registro(params)
 \layout Standard
 
 Como se puede observar, la estructura 
 \layout Standard
 
 Como se puede observar, la estructura 
@@ -698,6 +748,12 @@ 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
@@ -781,12 +837,6 @@ EMUFS_IDX
 ):
 \layout LyX-Code
 
 ):
 \layout LyX-Code
 
-typedef unsigned long EMUFS_REG_ID;
-\layout LyX-Code
-
-typedef unsigned long EMUFS_OFFSET;
-\layout LyX-Code
-
 typedef struct emufs_idx_t { 
 \layout LyX-Code
 
 typedef struct emufs_idx_t { 
 \layout LyX-Code
 
@@ -1050,9 +1100,13 @@ emufs_idx_agregar()
 Baja:
 \series default 
  Ante el borrado de un registro del archivo de datos, se accederá el registro
 Baja:
 \series default 
  Ante el borrado de un registro del archivo de datos, se accederá el registro
- correspondiente en el índice, y se actualizara su LOCATION, estableciendolo
- en el valor -1 UL, el cual indica que ese registro ha sido eliminado y
- por ende no se lo podrá localizar en el futuro.
+ correspondiente en el índice, y se actualizara su LOCATION, estableciendolo
+ en el valor especial 
+\family typewriter 
+EMUFS_NOT_FOUND
+\family default 
+, el cual indica que ese registro ha sido eliminado y por ende no se lo
+ podrá localizar en el futuro.
  Como se verá mas adelante, según el tipo de organización física, el registro
  puede ser borrado concretamente del .
 \series bold 
  Como se verá mas adelante, según el tipo de organización física, el registro
  puede ser borrado concretamente del .
 \series bold 
@@ -1137,10 +1191,10 @@ EMUFS_FSC
 typedef struct emufs_fsc_t { 
 \layout LyX-Code
 
 typedef struct emufs_fsc_t { 
 \layout LyX-Code
 
-  unsigned long int marker;
+  EMUFS_BLOCK_ID marker;
 \layout LyX-Code
 
 \layout LyX-Code
 
-  unsigned long int freespace;
+  EMUFS_FREE freespace;
 \layout LyX-Code
 
 } EMUFS_FSC;
 \layout LyX-Code
 
 } EMUFS_FSC;
@@ -2229,9 +2283,6 @@ 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
 
 
@@ -2306,7 +2357,7 @@ o freespace
 \begin_inset Float figure
 placement H
 wide false
 \begin_inset Float figure
 placement H
 wide false
-collapsed false
+collapsed true
 
 \layout Caption
 
 
 \layout Caption