APENDICE G

ESTRUCTURA DEL ARCHIVO MAESTRO Y FORMATO DE LOS REGISTROS

Archivo Maestro

Archivo de Referencias Cruzadas

Actualización

Reorganización

FORMATO DEL REGISTRO DEL ARCHIVO MAESTRO

Los registros del archivo maestro son registros de longitud variable, cada uno de ellos está formado por tres secciones: la primera es el rótulo del registro, de longitud fija; la segunda, es un directorio o índice del contenido del registro; y la tercera contiene los campos de información de longitud variable.

FORMATO DEL ROTULO DEL REGISTRO

El rótulo del registro está formado por los 7 enteros siguientes (los campos marcados con * son enteros de 31-bit con signo):

Inicialmente a MFBWB y MFBWP se les asigna un valor de 0 (cero) cuando se crea el registro. Posteriormente son actualizados cada vez que el registro mismo es actualizado (ver más adelante).

FORMATO DEL DIRECTORIO

El directorio es una tabla que indica el contenido del registro. Hay una entrada o bloque de datos en el directorio para cada campo presente en el registro (es decir, el directorio tiene exactamente NVF entradas). Cada entrada de directorio consiste de tres enteros:

Por lo tanto la longitud total del directorio en bytes es 6 * NVF. El campo BASE en la rótulo del registro siempre tiene el valor 18 + 6 * NVF

CAMPOS VARIABLES

Esta sección contiene los campos de datos (en el orden indicado en el directorio). Los campos de datos son colocados uno después de otro, sin caracteres de separación.

REGISTRO DE CONTROL

El primer registro del archivo Maestro es un registro de control que es mantenido automáticamente por el sistema. Nunca es accesible al usuario de ISIS. Su contenido es el siguiente (los campos marcados con * son enteros de 31-bits con signo):

(los últimos cuatro campos se usan para el cálculo de estadísticas durante las operaciones de backup y restauración de archivos)

FORMATO DE BLOQUEO DEL ARCHIVO MAESTRO

Los registros del archivo maestro son almacenados consecutivamente, uno tras otro, cada uno ocupando exactamente MFRL bytes. El archivo es almacenado en bloques físicos de 512 bytes. Un registro puede empezar en cualquier límite de palabra entre 0 - 498 (ningún registro empieza entre 500 y 510) y puede extenderse a dos o más bloques.

Al crearse o al actualizar el archivo Maestro, el sistema mantiene un índice que indica la posición de cada registro. El índice es almacenado en el archivo de Referencias Cruzadas (.XRF).

ARCHIVO DE REFERENCIAS CRUZADAS

El archivo .XRF está organizado como una tabla de apuntadores al Archivo Maestro. El primer apuntador corresponde al MFN 1, el segundo al MFN 2, etc.

Cada apuntador está formado por dos campos:

Estos campos están almacenados como un entero de 31-bit con signo (4 bytes) de la siguiente forma:

(esto da por lo tanto un tamaño máximo del archivo maestro de 500 Megabytes).

Cada bloque del archivo .XRF es de 512 bytes y contiene 127 apuntadores. El primer campo en cada bloque (XRFPOS) es un entero de 31 bits con signo, cuyo valor absoluto es el número del bloque del XRF. Un valor de XRFPOS negativo indica el último bloque.

Los registros borrados se indican de la siguiente forma:

TECNICA DE ACTUALIZACION DEL ARCHIVO MAESTRO

CREACION DE NUEVOS REGISTROS

Los registros nuevos siempre son agregados al final del archivo Maestro, en la posición indicada por los campos NXTMFB/NXTMFP en el registro de control del Archivo Maestro. El MFN a ser asignado se obtiene del campo NXTMFN del registro de control.

Después de agregar el registro, el NXTMFN es incrementado en 1 y NXTMFB/NXTMFP son actualizados para apuntar a la siguiente posición disponible. Adicionalmente se crea un nuevo apuntador en el archivo .XRF y el campo XRFMFP correspondiente al registro es incrementado en 1024 para indicar que este es un nuevo registro que debe invertirse (después de la inversión del registro, se resta 1024 de XRFMFP).

ACTUALIZACION DE REGISTROS EXISTENTES

Siempre que se actualiza un registro (es decir, se presenta en la pantalla de ingreso, y se sale del editor con la opción X), el sistema vuelve a grabar el registro en el Archivo Maestro. El lugar donde se graba, depende de la situación (status) del registro en el momento en que fue leído inicialmente:

No había actualización pendiente del archivo invertido para ese registro.

Estaba pendiente la actualización del archivo invertido

BORRADO DE REGISTROS

Al borrado de registros se le da el mismo tratamiento que a la actualización, con la adición de las siguientes marcas:

En el XRF XRFMFB es negativo

En el MST STATUS se le asigna el valor 1

REORGANIZACION DEL ARCHIVO MAESTRO

Como se indicó anteriormente, conforme se actualizan los registros del archivo Maestro, éste aumenta de tamaño y se pierde espacio que no puede ser utilizado. Las funciones de reorganización permiten recuperar este espacio mediante la recompactación del archivo.

Durante la fase de backup se crea una copia del archivo Maestro (archivo .BKP). La estructura y formato de este archivo son las mismas del archivo Maestro (.MST) excepto que no se necesita el archivo de referencias cruzadas ya que todos los registros son adyacentes. No se realiza el backup de los registros marcados para ser borrados. Dado que solo se realiza el backup de la última copia de cada registro, el sistema no permite realizar la función de backup cuando se encuentra pendiente la actualización del archivo invertido para uno o más registros.

Durante la fase de restauración, el archivo de backup es leído secuencialmente y el programa regenera los archivos .MST y .XRF. En este punto, todos los registros que estaban marcados para ser borrados lógicamente (antes del backup), son marcados como físicamente borrados (asignando los valores XRFMFB = -1 y XRFMFP = 0). Los registros borrados se detectan verificando los vacíos en la secuencia de numeración de MFN.

 

INDICE GENERAL