El método de acceso al almacenamiento virtual ( VSAM ) [1] es un método de acceso al almacenamiento de archivos de IBM DASD , que se utilizó por primera vez en los sistemas operativos OS / VS1 , OS / VS2 versión 1 (SVS) y versión 2 (MVS), y luego se utilizó en todos los sistemas operativos virtuales múltiples. Arquitectura de almacenamiento (MVS) y ahora en z / OS . Originalmente un sistema de archivos orientado a registros , [NB 2] VSAM comprende cuatro [NB 2] organizaciones de conjuntos de datos : secuenciado por clave (KSDS), registro relativo (RRDS), secuenciado por entrada (ESDS) y lineal (LDS). [2] Las organizaciones KSDS, RRDS y ESDS contienen registros, mientras que la organización LDS (agregada más tarde a VSAM) simplemente contiene una secuencia de páginas sin estructura de registro intrínseca, para usar como un archivo mapeado en memoria .
Descripción general
Un IBM Redbook llamado "VSAM PRIMER" (especialmente cuando se usa con el manual "Opciones del método de acceso al almacenamiento virtual (VSAM) para aplicaciones avanzadas") explica los conceptos necesarios para hacer uso de VSAM. [3] IBM utiliza el término conjunto de datos en la documentación oficial como sinónimo de archivo y dispositivo de almacenamiento de acceso directo ( DASD ) porque admitía otros dispositivos similares a las unidades de disco .
Los registros VSAM pueden tener una longitud fija o variable. Están organizados en bloques de tamaño fijo llamados Intervalos de control (CI), [4] [5] y luego en divisiones más grandes llamadas Áreas de control (CA). Los tamaños de los intervalos de control se miden en bytes, por ejemplo, 4 kilobytes , mientras que los tamaños del área de control se miden en pistas de disco o cilindros. Los intervalos de control son las unidades de transferencia entre el disco y la computadora, por lo que una solicitud de lectura leerá un intervalo de control completo. Las áreas de control son las unidades de asignación, por lo que, cuando se define un conjunto de datos VSAM, se asignará un número integral de áreas de control.
El programa de utilidad de Access Method Services IDCAMS se usa comúnmente para manipular ("eliminar y definir") conjuntos de datos VSAM. Los programas personalizados pueden acceder a conjuntos de datos de VSAM a través de declaraciones de definición de datos (DD) en Job Control Language (JCL), mediante asignación dinámica o en regiones en línea como en el Sistema de control de información del cliente (CICS).
Tanto IMS / DB [ cita requerida ] como DB2 [2] : 41 [6] se implementan sobre VSAM y utilizan sus estructuras de datos subyacentes .
Archivos VSAM
La organización física de los conjuntos de datos VSAM difiere considerablemente de las organizaciones utilizadas por otros métodos de acceso, como se indica a continuación.
Un archivo VSAM se define como un grupo de componentes VSAM, por ejemplo, para KSDS un componente DATA y un componente INDEX.
Intervalos de control y áreas de control
Los componentes VSAM consisten en bloques físicos de longitud fija agrupados en intervalos de control de longitud fija [4] [5] (CI) y áreas de control (CA). El tamaño de CI y CA está determinado por los servicios de método de acceso (AMS), y la forma en que se utilizan normalmente no es visible para el usuario. Habrá un número fijo de intervalos de control en cada área de control.
Un intervalo de control normalmente contiene varios registros. Los registros se almacenan dentro del intervalo de control comenzando desde la dirección baja hacia arriba. La información de control se almacena en el otro extremo del intervalo de control, comenzando desde la dirección alta y moviéndose hacia abajo. El espacio entre los registros y la información de control es espacio libre. La información de control comprende dos tipos de entrada: un campo descriptor de intervalo de control (CIDF) que siempre está presente, y campos descriptores de registro (RDF) que están presentes cuando hay registros dentro del intervalo de control y describen la longitud del registro asociado. El espacio libre dentro de un CI siempre es contiguo.
Cuando los registros se insertan en un intervalo de control, se colocan en el orden correcto en relación con otros registros. Esto puede requerir que los registros se muevan fuera del camino dentro del intervalo de control. Por el contrario, cuando se elimina un registro, los registros posteriores se mueven hacia abajo para que el espacio libre permanezca contiguo. Si no hay suficiente espacio libre en un intervalo de control para insertar un registro, el intervalo de control se divide. Aproximadamente la mitad de los registros se almacenan en el intervalo de control original, mientras que los registros restantes se mueven a un nuevo intervalo de control. El nuevo intervalo de control se toma de un conjunto de intervalos de control libres dentro de la misma área de control que el intervalo de control original. Si no queda ningún intervalo de control libre dentro de esa área de control, el área de control en sí se divide y los intervalos de control se distribuyen por igual entre las áreas de control antigua y nueva.
Puede utilizar tres tipos de organización de archivos orientada a registros con VSAM (el contenido de los conjuntos de datos lineales no tiene estructura de registro):
Organización secuencial de VSAM
Un ESDS puede tener un índice definido para permitir el acceso a través de claves, mediante la definición de un índice alternativo. Los registros en ESDS se almacenan en el orden en que se escriben por acceso a la dirección. [7] [8] [9] Los registros se cargan independientemente de su contenido y sus direcciones de bytes no se pueden cambiar.
Organización VSAM indexada
Un KSDS tiene dos partes: el componente de índice y el componente de datos. Estos pueden almacenarse en volúmenes de disco separados.
Si bien un KSDS básico solo tiene una clave (la clave principal), se pueden definir índices alternativos para permitir el uso de campos adicionales como claves secundarias. Un índice alternativo (AIX) es en sí mismo un KSDS.
La estructura de datos utilizada por un KSDS se conoce hoy en día como árbol B + . [10] [11]
Organización VSAM relativa
Un RRDS puede tener un índice definido para permitir el acceso mediante claves, mediante la definición de un índice alternativo.
Organización VSAM lineal
Un LDS es un conjunto de datos VSAM no estructurado con un tamaño de intervalo de control de un múltiplo de 4K. Es utilizado por ciertos servicios del sistema.
Técnicas de acceso a datos VSAM
Hay cuatro tipos de técnicas de acceso para datos VSAM:
- Recursos compartidos locales (LSR), está optimizado para acceso "aleatorio" o directo. El acceso LSR es fácil de lograr desde CICS . [12]
- Recursos compartidos mundiales (GSR) [13]
- Recursos no compartidos (NSR), que está optimizado para acceso secuencial. Históricamente, el acceso NSR ha sido más fácil de usar que LSR para programas por lotes. [12]
- La administración de archivos distribuidos (DFM), una implementación de un servidor de arquitectura de administración de datos distribuidos , permite que los programas en computadoras remotas creen, administren y accedan a archivos VSAM.
Compartir datos de VSAM
El uso compartido de datos VSAM entre regiones CICS se puede realizar mediante el uso compartido de nivel de registro VSAM (RLS). Esto agrega almacenamiento en caché de registros y, lo que es más importante, bloqueo de registros. El proceso de registro y confirmación sigue siendo responsabilidad de CICS, lo que significa que el uso compartido de datos VSAM fuera de un entorno CICS está muy restringido.
El uso compartido entre regiones CICS y trabajos por lotes requiere VSAM transaccional , DFSMStvs. Este es un programa opcional que se basa en VSAM RLS agregando registro y confirmación en dos fases, utilizando servicios del sistema z / OS subyacentes. Esto permite el intercambio generalizado de datos VSAM.
Historia
VSAM se introdujo como un reemplazo de los métodos de acceso más antiguos [14] y estaba destinado a agregar funciones, ser más fáciles de usar y superar los problemas de rendimiento y dependencia del dispositivo. VSAM se introdujo en la década de 1970 cuando IBM anunció sistemas operativos de almacenamiento virtual (DOS / VS, OS / VS1 y OS / VS2) para su nueva serie System / 370, como sucesores de los sistemas operativos DOS / 360 y OS / 360 que se ejecutan en sus sistemas operativos. Serie de computadoras System / 360. Si bien se mantuvo la compatibilidad con versiones anteriores, los métodos de acceso más antiguos tenían problemas de rendimiento debido a la traducción de direcciones requerida para el almacenamiento virtual.
La organización KSDS fue diseñada para reemplazar ISAM , el método de acceso secuencial indexado. Los cambios en la tecnología de los discos habían significado que la búsqueda de datos en conjuntos de datos ISAM se había vuelto muy ineficaz. También fue difícil mover conjuntos de datos ISAM porque había punteros incrustados a ubicaciones de disco físico que se volvían inválidos si se movía el conjunto de datos. IBM también proporcionó una interfaz de compatibilidad para permitir que los programas codificados para usar ISAM usen un KSDS en su lugar.
La organización RRDS fue diseñada para reemplazar BDAM , el método básico de acceso directo. En algunos casos, los conjuntos de datos BDAM contenían punteros incrustados que impedían su traslado. Sin embargo, la mayoría de los conjuntos de datos de BDAM no lo hicieron y el incentivo para pasar de BDAM a VSAM RRDS fue mucho menos convincente que el de pasar de ISAM a VSAM KSDS.
Posteriormente se agregaron conjuntos de datos lineales, seguidos de VSAM RLS y luego VSAM transaccional.
Ver también
- Lenguaje de control de trabajos (JCL)
- Programas de utilidad de mainframe de IBM
- ISAM
- ERS de Ginebra
- Servicios de gestión de registros , un sistema similar desarrollado por Digital Equipment Corporation
Notas
- ^ Ya no se usa.
- ^ a b Con la excepción de los catálogos, los espacios de página y los espacios de intercambio [NB 1] , a los que las aplicaciones no autorizadas solo podían acceder a través de servicios de SO especializados. Sin mencionar el hecho de que también ha estado en VSE desde siempre y se usa en z / VSE
Referencias
- ^ "Nueva vida para los sistemas heredados en LaBarge" . Datamación . 11 de mayo de 2007.
- ^ a b Lovelace, Mary; Dovidauskas, José; Salla, Álvaro; Sokal, Valeria (marzo de 2013). "1.3.2 Gestión de registros". VSAM desmitificado (PDF) . Libros rojos (3 ed.). IBM. pag. 5.
- ^ "Imprimación VSAM" .
- ^ a b "VSAM - Componentes" .
- ^ a b "Limitaciones del tamaño del intervalo de control" .
- ^ "Guía del usuario" (PDF) .
- ^ "VSAM: introductorio" .
- ^ "Funcionalidad del servidor" .
Secuencial (VSAM ESDS - Conjunto de datos secuenciados de entrada)
- ^ "ABC del volumen 3 de programación del sistema z / OS" .
Un conjunto de datos ESDS VSAM contiene registros en el orden en que fueron ingresados
- ^ "Patente estadounidense para proporcionar bloqueo de actualización de índice alternativo a nivel de registro" .
- ^ "¿Qué es VSAM?" .
Este índice se llama árbol B +.
- ^ a b "Recursos locales compartidos (LSR) o recursos no compartidos" .
- ^ "Compartir conjuntos de datos VSAM" . IBM.com (IBM Knowledge Center) .
describe las consideraciones para compartir conjuntos de datos VSAM para NSR o LSR / GSR
- ^ Suplemento de características de SO / Virtual Storage 1 (PDF) (Primera edición). IBM. Agosto de 1972. GC20-1752-0.
- VSAM desmitificado
- Guía de planificación y descripción general de DFSMStvs