Conjunto de datos ( rus. Dataset , también a veces transcrito como "Conjunto de datos" ) es el término utilizado para el sistema de archivos de mainframe de IBM ; una colección de registros lógicos almacenados como una tupla . Un conjunto de datos se puede comparar con un archivo , pero a diferencia de un archivo, un conjunto de datos es tanto un directorio como un archivo en el sistema de archivos y no puede contener otros conjuntos.
En la práctica, a menudo puede encontrar escritura en una sola palabra ( conjunto de datos ), lo que, estrictamente hablando, es incorrecto, pero aceptable. Esta práctica surgió del hecho de que la palabra debe usarse en el contexto del nombre del conjunto en sí, que no admite espacios entre caracteres.
El sistema de archivos de mainframe se centra en el almacenamiento de registros , que son unidades de almacenamiento indivisibles . Un conjunto de registros se combinan en grupos, que se denominan conjuntos de datos. Fuera de cualquier conjunto, el registro no se puede almacenar. Las aplicaciones utilizan los registros de los conjuntos de datos, por ejemplo, como entrada, o una aplicación puede generar registros como producto de su trabajo. Por lo tanto, los registros de conjuntos de datos pueden ser datos textuales (por ejemplo, códigos fuente de programas), archivos de objetos , módulos cargables, registros con variables de configuración, etc.
Se puede hacer referencia a un conjunto de datos especificando la ubicación exacta donde se almacena o, si previamente se reservó un nombre de sistema de archivos para el conjunto, por nombre. Los conjuntos de datos con nombres únicos se denominan catalogados . Los conjuntos de datos no pueden anidarse entre sí, por lo que se utiliza un sistema de calificación para los nombres: el nombre se compone de calificadores de ocho caracteres separados entre sí por un punto, mientras que el nombre del conjunto no puede exceder los 44 caracteres, por ejemplo . Físicamente, los juegos se pueden almacenar en diferentes tipos de medios (discos magnéticos o casetes de cinta), además, los juegos se pueden colocar en la memoria virtual . USER.MYDIR.PROJ.SOURCE
En los mainframes, los dispositivos de almacenamiento que admiten el acceso directo a datos utilizan el término DASD ( dispositivo de almacenamiento de acceso directo ) . Un dispositivo DASD se divide lógicamente en volúmenes ( Volúmenes en inglés ) que almacenan diferentes tipos de conjuntos. Para que el sistema sepa qué juegos están almacenados en un dispositivo DASD dado, mantiene un "directorio maestro" especial, o en otras palabras, una lista de juegos catalogados.
El conjunto de datos en sí no solo combina los registros, sino que también define las reglas para estos registros (formato de almacenamiento). Los parámetros de formato de almacenamiento incluyen el tamaño del bloque de registro (tipo de bloque), el tamaño máximo de un registro establecido. También se debe definir el tipo del conjunto de datos en sí, del cual depende cómo se presentará lógicamente (como una secuencia continua de registros, como miembros separados entre sí ( English Members ), etc.).
Los volúmenes de un solo dispositivo DASD pueden contener muchos conjuntos de diferentes tipos. Los nombres de los conjuntos deben ser únicos dentro del mismo dispositivo de almacenamiento. Cada volumen del dispositivo se divide en pistas . En la pista cero, el cilindro cero, se almacena la etiqueta DASD, que indica la ubicación de la tabla de contenido del volumen VTOC (Tabla de contenido del volumen en inglés ), un análogo de MBR y GPT al mismo tiempo. VTOC almacena los nombres de todos los conjuntos almacenados en el volumen, los números de pista desde los que comienza cada conjunto, los tamaños y las restricciones de acceso. Dado que los conjuntos están vinculados a sus volúmenes, al buscar un conjunto, el sistema operativo primero busca en la lista de volúmenes visibles y luego, cuando encuentra el volumen requerido, accede a su VTOC.
La unidad más pequeña del conjunto, como se dijo anteriormente, es el registro lógico, limitado por el tamaño LRECL. Las pistas contiguas de un volumen que contiene un conjunto forman una extensión . Por lo general, el controlador del dispositivo de almacenamiento intenta asignar conjuntos de extensiones, ya que esto hace que el acceso a ellos sea más rápido. Para habilitar esta estrategia, el VTOC mantiene registros de carriles libres contiguos.
El sistema de archivos del mainframe, al leer un conjunto de datos, no se basa en los bytes de los datos en sí, sino que utiliza información sobre el formato del conjunto ( RECFM). El formato determina cuántos bytes de datos se pueden escribir en un bloque de tamaño establecido BLKSIZE. Los mainframes de IBM utilizan los siguientes formatos:
Los registros de conjuntos que se asignan a la memoria virtual (los llamados conjuntos VSAM) también se almacenan en el dispositivo DASD, pero por separado de los conjuntos que no son VSAM, en extensiones llamadas Intervalos de control (CI) y se catalogan por separado. CI es un poco más complicado y es análogo a un bloque: está representado por un área en la que los registros se colocan uno tras otro, seguido de campos RDF por el número de registros ( Campos de definición de registro ) y un campo CIDF ( Definición de intervalo de control). campo ) . Puede haber un espacio en blanco entre el primer campo RDF y la última entrada. Los campos RDF describen los registros de un conjunto individualmente, mientras que CIDF describe el intervalo de control como un todo. Las aplicaciones utilizan internamente los VSAM.
Otra característica de un conjunto es su organización DSORG, que sugiere el orden en que debe leerse y actualizarse. Existen los siguientes tipos de organización:
Para cada tipo de organización, se aplican uno o más de los métodos de acceso proporcionados por el sistema operativo. Por ejemplo, para aparatos con organización PS, se aplican los métodos de acceso BSAM (método de acceso secuencial básico) y QSAM (método de acceso secuencial en cola); Los conjuntos de PO utilizan el método BPAM (método de acceso particionado básico) y los conjuntos de DA utilizan el método BDAM (método de acceso directo básico).
Con la llegada de la memoria virtual , hubo conjuntos organizados específicamente para ella, por ejemplo, KSDS, LDS, RRDS, etc., para los cuales se utiliza su propio método de acceso: VSAM (método de acceso al almacenamiento virtual).