stringtranslate.com

Conjunto de datos (mainframe de IBM)

En el contexto de los mainframes de IBM de la línea S/360 , un conjunto de datos (IBM prefiere) o dataset es un archivo informático que tiene una organización de registros . El uso de este término comenzó con, por ejemplo, DOS/360 , OS/360 , y todavía lo utilizan sus sucesores, incluido el actual z/OS . La documentación de estos sistemas históricamente prefería este término en lugar de archivo .

Un conjunto de datos normalmente se almacena en un dispositivo de almacenamiento de acceso directo (DASD) o en una cinta magnética , [1] sin embargo, los dispositivos de registro unitario, como lectores de tarjetas perforadas, perforadoras de tarjetas, impresoras de línea e impresoras de páginas pueden proporcionar entrada/salida (E/S) para un conjunto de datos (archivo). [2]

Los conjuntos de datos no son secuencias no estructuradas de bytes , sino que están organizados en varias estructuras lógicas de registros [3]DSORG y bloques determinadas por la (organización del conjunto de datos), RECFMel (formato del registro) y otros parámetros. Estos parámetros se especifican en el momento de la asignación (creación) del conjunto de datos, por ejemplo, con instrucciones del lenguaje de control de trabajos DD . Dentro de un programa en ejecución, se almacenan en el bloque de control de datos (DCB) o el bloque de control de acceso (ACB), que son estructuras de datos utilizadas para acceder a los conjuntos de datos mediante métodos de acceso .

Los registros de un conjunto de datos pueden tener una longitud fija, variable o “indefinida”. [4]

Organización de conjuntos de datos

En el caso de OS/360, el parámetro DCB DSORGespecifica cómo se organiza el conjunto de datos. Puede ser [5]

CQ
Método de acceso a telecomunicaciones en cola (QTAM) en el programa de control de mensajes (MCP)
CX
Grupo de línea de comunicaciones
ES
Método básico de acceso directo (BDAM)
GS
Dispositivo gráfico para el método de acceso a gráficos (GAM)
ES
Método de acceso secuencial indexado (ISAM)
MQ
Cola de mensajes QTAM en la aplicación
correos
Organización particionada
PD
Secuencial físico

entre otros. Los conjuntos de datos en cinta solo pueden ser DSORG=PS. La elección de la organización depende de cómo se accederá a los datos y, en particular, de cómo se actualizarán.

Los programadores utilizan varios métodos de acceso (como QSAM o VSAM ) en programas para leer y escribir conjuntos de datos. El método de acceso depende de la organización del conjunto de datos.

Formato de registro (RECFM)

Independientemente de la organización, la estructura física de cada registro es esencialmente la misma y es uniforme en todo el conjunto de datos. Esto se especifica en el RECFMparámetro DCB. RECFM=Fsignifica que los registros tienen una longitud fija, especificada mediante el LRECLparámetro. RECFM=Vespecifica un registro de longitud variable. Los registros V, cuando se almacenan en medios, tienen como prefijo una palabra de descriptor de registro (RDW) que contiene la longitud entera del registro en bytes y bits de bandera. Con RECFM=FBy RECFM=VB, varios registros lógicos se agrupan en un solo bloque físico en cinta o DASD. FB y VB son fixed-blocked, y variable-blocked, respectivamente. RECFM=U (indefinido) también es de longitud variable, pero la longitud del registro está determinada por la longitud del bloque en lugar de por un campo de control.

El BLKSIZEparámetro especifica la longitud máxima del bloque. RECFM=FBS[6] también se puede especificar, es decir fixed-blocked standard, que todos los bloques excepto el último deben tener su BLKSIZElongitud completa. RECFM=VBS, o variable-blocked spanned, significa que un registro lógico se puede extender a lo largo de dos o más bloques, con indicadores en el RDW que indican si un segmento de registro continúa en el siguiente bloque y/o continuó desde el anterior.

Este mecanismo elimina la necesidad de utilizar cualquier valor de byte "delimitador" para separar registros. Por lo tanto, los datos pueden ser de cualquier tipo, incluidos números enteros binarios, coma flotante o caracteres, sin introducir una condición falsa de fin de registro. El conjunto de datos es una abstracción de una colección de registros, en contraste con los archivos, que son flujos de bytes no estructurados.

Conjunto de datos particionado

Un conjunto de datos particionado ( PDS ) [7] es un conjunto de datos que contiene varios miembros , cada uno de los cuales contiene un subconjunto de datos separado, similar a un directorio en otros tipos de sistemas de archivos . Este tipo de conjunto de datos se utiliza a menudo para contener módulos de carga (programas ejecutables limitados a formatos antiguos), bibliotecas de programas fuente (especialmente definiciones de macros de ensamblador), definiciones de pantalla ISPF y lenguaje de control de trabajos . Un PDS puede compararse con un archivo Zip o un almacenamiento estructurado COM .

Un conjunto de datos particionados solo se puede asignar a un único volumen y tener un tamaño máximo de 65 535 pistas.

Además de los miembros, un PDS también contiene un directorio. Se puede acceder a cada miembro de forma indirecta a través de la estructura del directorio. Una vez que se encuentra un miembro, los datos almacenados en ese miembro se manejan de la misma manera que un conjunto de datos PS (secuencial).

Cada vez que se elimina un miembro, el espacio que ocupaba no se puede utilizar para almacenar otros datos. Del mismo modo, si se reescribe un miembro, se almacena en un nuevo lugar en la parte posterior del PDS y deja espacio "muerto" desperdiciado en el medio. La única forma de recuperar el espacio "muerto" es realizar la compresión de archivos. [8] La compresión, que se realiza utilizando la utilidad IEBCOPY , [9] mueve todos los miembros al frente del espacio de datos y deja espacio libre utilizable en la parte posterior. (Tenga en cuenta que en el lenguaje moderno, este tipo de operación podría llamarse desfragmentación o recolección de basura ; la compresión de datos hoy en día se refiere a un concepto diferente y más complicado). Los archivos PDS solo pueden residir en DASD , no en cinta magnética , para poder utilizar la estructura de directorio para acceder a miembros individuales. Los conjuntos de datos particionados se utilizan con mayor frecuencia para almacenar múltiples archivos de lenguaje de control de trabajos , declaraciones de control de utilidades y módulos ejecutables.

Una mejora de este esquema es un conjunto de datos particionados ampliado (PDSE o PDS/E, a veces simplemente bibliotecas ) introducido con DFSMSdfp para los sistemas MVS/XA y MVS/ESA . Una biblioteca PDS/E puede almacenar objetos de programa u otros tipos de miembros, pero no ambos. BPAM no puede procesar un PDS/E que contenga objetos de programa.

La estructura de PDS/E es similar a la de PDS y se utiliza para almacenar los mismos tipos de datos. Sin embargo, los archivos PDS/E tienen una mejor estructura de directorios que no requiere la asignación previa de bloques de directorios cuando se define el PDS/E (y, por lo tanto, no se queda sin bloques de directorios si no se especificaron suficientes). Además, PDS/E almacena automáticamente los miembros de tal manera que no se necesita una operación de compresión para recuperar espacio "muerto". [8] Los archivos PDS/E solo pueden residir en DASD para poder utilizar la estructura de directorios para acceder a los miembros individuales.

Grupo de datos de generación

Un grupo de datos de generación [10] ( GDG ) [11] es un grupo de conjuntos de datos no VSAM [12] que son generaciones sucesivas de datos históricamente relacionados [13] almacenados en un mainframe IBM (que ejecuta SO o DOS/VSE ). [14]

Un GDG suele catalogarse. [13]

A cada miembro individual de la colección GDG se le denomina " Conjunto de datos de generación ". [13] [15] Este último puede identificarse mediante un número absoluto, ACCTG.OURGDG(1234), o un número relativo: (-1) para la generación anterior, (0) para la actual y (+1) la siguiente generación. [16]

GDG JCL y características

Los grupos de datos de generación se definen utilizando la declaración BLDG [17] de la utilidad IEHPROGM o la declaración DEFINE GENERATIONGROUP [18] de la utilidad más nueva IDCAMS , [19] que permite configurar varios parámetros.

IDCAMS también puede eliminar (y opcionalmente descatalogar) un GDG. [20]

Referencias

  1. ^ "¿Qué es un catálogo?". IBM . Catalogación de conjuntos de datos en cinta magnética ...
  2. ^ "IBM Knowledge Center - Página principal de la documentación de productos de IBM". publib.boulder.ibm.com .
  3. ^ "¿Qué es un conjunto de datos?". IBM . conjunto de datos .. un archivo que contiene uno o más registros.
  4. ^ "Formatos de registros de conjuntos de datos". IBM . Los registros tienen una longitud fija o variable en un conjunto de datos determinado.
  5. ^ "Sección IV: La sentencia DD - Parámetro DCB" (PDF) . IBM System/3S0 Operating System: Job Control Language Reference - OS Release 21.7 (PDF) . IBM Systems Reference Library. IBM. págs. 138-139. GC28-6704-4.
  6. ^ "Ejemplo: formato de registro VBS". IBM . Longitud variable, bloqueada, distribuida (VBS)
  7. ^ "Estructura de un PDS", z/OS DFSMS Using Data Sets Version 2 Release 3 (PDF) , 2 de octubre de 2018, SC23-6855-30
  8. ^ de Stephens, David (octubre de 2008). ¿Qué es un mainframe? Lulu.com. pág. 52. ISBN 978-1-4092-2535-5. Recuperado el 11 de mayo de 2018 .
  9. ^ "Compresión de un conjunto de datos particionados", z/OS DFSMSdfp Utilities Version 2 Release 3 (PDF) , IBM Corporation, 17 de julio de 2017, SC23-6864-30. Un conjunto de datos particionados contendrá áreas no utilizadas (a veces denominadas gas) donde alguna vez residió un miembro eliminado o la versión anterior de un miembro actualizado. Este espacio no utilizado solo se recupera cuando un conjunto de datos particionados se copia a un nuevo conjunto de datos o después de que se complete con éxito una operación de compresión en el lugar. No tiene ningún significado para un PDSE y se ignora si se solicita.
  10. ^ "Grupos de datos generacionales (GDG), una introducción con ejemplos". crear y procesar un grupo de datos generacionales o GDG en ...
  11. ^ "REFERENCIA DEL TUTORIAL JCL - Grupos de datos de generación". Grupos de datos de generación (GDG)
  12. ^ "¿Qué es un grupo de datos de generación?". IBM.com . ... no VSAM ...
  13. ^ abc "Conjuntos de datos de generación". IBM . sucesivos, históricamente relacionados,
  14. ^ "Comandos VSE/VSAM" (PDF) .
  15. ^ "Un conjunto de datos de generación es uno de...
  16. ^ "¿Qué es un GDG?".
  17. ^ "Declaración BLDG (Índice de generación de compilación)" (PDF) . Utilidades del SO (PDF) . Biblioteca de referencia de sistemas IBM (decimosexta edición). IBM . Abril de 1973. pág. 269. GC28-6586-15 . Consultado el 19 de mayo de 2022 .
  18. ^ "Definición de un grupo de datos de generación" (PDF) . Servicios de métodos de acceso OS/VS (PDF) (segunda edición). IBM . Mayo de 1974. págs. 107–110. GC26-3836-1 . Consultado el 19 de mayo de 2022 . {{cite book}}: |work=ignorado ( ayuda )
  19. ^ "IBM Cómo crear y utilizar grupos de datos de generación (GDG)". IBM . 2 de marzo de 2012. Cree un GDG... IDCAMS lo hará
  20. ^ "IDCAMS – Crear y eliminar base GDG usando JCL".