467 y 468 - Agrupación de Registros

La Agrupación de registros son la unidad lógica de acceso a los archivos, mientras que los bloques son la unidad de E/S para almacenamiento secundario. Para realizar E/S, los registros deben organizarse en bloques.

Hay varios aspectos a considerar:

En primer lugar, ¿los bloques deberán ser de longitud fija o variable? 

En la mayoría de los sistemas, los bloques son de longitud fija. Esto simplifica la E/S, la asignación de memoria intermedia (buffers) en memoria principal y la organización de los bloques en memoria secundaria.

En segundo lugar, ¿Cuál deberá ser el tamaño relativo de un bloque, en comparación con el tamaño medio de registro?

El compromiso es éste: Cuanto mayor sea el bloque, más registros se pasarán en una operación de E/S. Esto es una ventaja si el archivo se está procesando secuencialmente, porque el número de operaciones de E/S se reduce usando bloques mayores, acelerando así el procesamiento. Por otro lado, si se accede aleatoriamente a los registros y no se observa ninguna cercanía particular en las referencias, el uso de bloques mayores redunda en una transferencia innecesaria de registros sin usar. Sin embargo, combinando la frecuencia de las operaciones secuenciales con  la  posibilidad de cercanía de referencias, se puede afirmar que el tiempo de transferencia de E/S se reduce usando bloques mayores. La pega es que los bloques grandes necesitan buffers de E/S mayores, haciendo más dificultosa la gestión de buffers.


Dado un tamaño de bloque, pueden seguirse los siguientes tres métodos de agrupación en bloques:


 Bloques fijos: Se usan registros de longitud fija, guardándose en cada bloque un número entero de registros. Puede existir espacio sin usar al final de cada bloque.



Bloques de longitud variable por tramos: Se usan registros de longitud variable que se agrupan  en  bloques  sin dejar espacio sin usar. De este modo, algunos registros deben abarcar dos bloques, indicando el tramo de continuación con un puntero al bloque siguiente.



Bloques de longitud variable sin tramos: Se usan registros de longitud variable, pero no se dividen en tramos. En la mayoría de los bloques habrá un espacio desperdiciado, debido a la imposibilidad de aprovechar el    resto del bloque si el registro siguiente es mayor que el espacio sin usar restante.




La técnica de agrupación de registros puede colaborar con el hardware de memoria virtual si procede. En    un entorno de memoria virtual, es deseable que la unidad básica de transferencia sea  la  página.  Generalmente, las páginas son bastante pequeñas, de forma que es poco práctico tratarlas como bloques sin tramos. De acuerdo a esto, algunos sistemas combinan múltiples páginas para crear un bloque mayor para la E/S de archivos. Este método es usado en los archivos VSAM de las máquinas IBM.








Comentarios

Entradas más populares de este blog

466 - Compartición de Archivos

469 a la 478 - Gestión Almacenamiento Secundario