Este artículo analiza los programas de soporte incluidos o disponibles para OS/360 y sus sucesores . IBM clasifica algunos de estos programas como utilidades [ 1 ] [ a ] y otros como ayudas de servicio; [ 2 ] los límites no siempre son consistentes ni obvios. Muchos, pero no todos, de estos programas coinciden con los tipos de software de utilidad .
Las siguientes listas describen programas asociados con OS/360 y sus sucesores . No se incluyen utilidades de DOS , TPF ni máquinas virtuales .
Convención de nomenclatura
IBM utiliza una convención de nomenclatura para módulos donde las tres primeras letras identifican el "componente" al que pertenece un módulo. [ 3 ] [ 4 ] [ 1 ] En OS/VS , IBM renombró la mayoría de los mensajes IMx como AMx para OS/VS2 y HMx para OS/VS1 .
- AMA
- Ayudas de servicio de OS/VS2
- AMB
- Ayudas de servicio de OS/VS2
- AMD
- Volcado de memoria y volcado de impresión independientes de OS/VS2
- GIM
- SMP/E
- GTF
- Instalación de rastreo generalizada
- HMA
- Ayudas de servicio OS/VS1
- HMB
- Ayudas de servicio OS/VS1
- HMD
- Volcado de memoria independiente y volcado de impresión de OS/VS1
- HHL
- Instalación de rastreo generalizada (OS/VS1)
- IBC
- Utilidades independientes. "Los programas de utilidades independientes operan fuera del sistema operativo IBM System/360 y le brindan soporte."
- ICA
- Carga de búfer de impresión independiente (FCB, UCS)
- HIELO
- DFSORT
- ¡Qué asco!
- Instalaciones de soporte de dispositivos (DSF)
- IDC
- Servicios de métodos de acceso (AMS)
- IEB
- Utilidades de conjuntos de datos. Las utilidades de conjuntos de datos "se utilizan para reorganizar, modificar o comparar datos a nivel de conjunto de datos y/o a nivel de registro".
- IEF
- Planificador
- IEH
- Utilidades del sistema. Las utilidades del sistema se utilizan para "mantener los datos de control del sistema".
- IER
- OS/360 ORDENACIÓN
- IET
- Ensamblador (E)
- UEI
- Ensambladora (F)
- IEW
- Editor y cargador de enlaces
- IFA
- Volcado SMF
- IFC
- Empresas de servicios públicos independientes
- IFH
- Estadísticas de errores por volumen (ESV)
- IFO
- Ensamblador (XF)
- IMA
- Ayudas de servicio
- IMB
- Mapa del módulo
- IMC
- Utilidades de cola de trabajos
- IMD
- Volcado independiente e impresión de volcado
Historial/JCL común
Muchos de estos programas fueron diseñados por usuarios de IBM, a través del grupo SHARE , y posteriormente modificados o ampliados por IBM a partir de versiones escritas originalmente por un usuario.
Estos programas suelen invocarse mediante el lenguaje de control de trabajos (JCL). Tienden a utilizar identificadores DD JCL comunes (en los sistemas operativos, ahora z/OS ) para sus conjuntos de datos:
Utilidades del conjunto de datos
CÁMARAS DE IDENTIFICACIÓN
IDCAMS ( Access Method Services ) genera y modifica conjuntos de datos VSAM ( Virtual Storage Access Method ) y no VSAM. IDCAMS se introdujo junto con VSAM en OS/VS ; la referencia a "método de acceso" proviene de la idea inicial de OS/VS de que "VSAM reemplaza a todos los demás métodos de acceso". IDCAMS probablemente sea el programa de utilidad más completo, ya que realiza numerosas funciones tanto para archivos VSAM como para archivos no VSAM.
El siguiente ejemplo ilustra el uso de IDCAMS para copiar un conjunto de datos al disco. El conjunto de datos tiene registros de 80 bytes, y el sistema elegirá el tamaño del bloque para la salida:
// XXXXXXXW TRABAJO XXXXXXX , AAAA , CLASE = G , MSGCLASS = 1 , NOTIFICAR =& SYSUID // PASO001 EJECUTAR PGM = IDCAMS // SYSIN DD * REPRO INFILE(FILE01) OUTFILE(FILE02) /* // FILE01 DD DSN = PROD . FILE1 . INPUT , disp = shr ..... // FILE02 DD DSN = PROD . FILE2 . SALIDA , // DISP = ( NUEVO , CATLG , ELIMINAR ), // UNIDAD = DASD , // ESPACIO = ( TRK ,( 100 , 10 ), RLSE ), // DCB = ( RECFM = FB , BLKSIZE = 0 , LRECL = 80 ) // SYSPRINT DD SYSOUT = * // SYSOUT DD SYSOUT = * // SYSUDUMP DD SYSOUT = *//*En el ejemplo anterior, las tarjetas de control SYSIN provienen de un archivo dentro del flujo, pero también puede apuntar a cualquier archivo secuencial o a un miembro PDS que contenga tarjetas de control o un conjunto de datos temporal, si lo desea. Un ejemplo de uso de archivos SYSIN sería algo como esto:
// SYSIN DD DSN = PROD . MYFILE . REPRO , DISP = SHRo esto:
// SYSIN DD DSN = PROD . MYLIB . CNTLLIB ( REPRO ), // DISP = SHRIEBCOMPR
IEBCOMPR compara registros en conjuntos de datos secuenciales o particionados .
La utilidad IEBCOMPR se utiliza para comparar dos conjuntos de datos secuenciales o particionados . Esta comparación se realiza a nivel de registro lógico. Por lo tanto, IEBCOMPR se usa comúnmente para verificar que una copia de seguridad de un conjunto de datos sea correcta (coincidencia exacta con el original).
Durante el procesamiento, IEBCOMPR compara cada registro de cada conjunto de datos, uno por uno. Si los registros no son iguales, IEBCOMPR muestra la siguiente información en SYSOUT :
- Los números de registro y de bloque en cuestión.
- Los nombres de las sentencias DD en las que se produjo la inconsistencia.
- Los registros desiguales.
Al comparar conjuntos de datos secuenciales, IEBCOMPR considera que los conjuntos de datos son iguales si se cumplen las siguientes condiciones:
- Los conjuntos de datos contienen el mismo número de registros.
- Los registros y claves correspondientes son idénticos.
Para conjuntos de datos particionados , IEBCOMPR considera que los conjuntos de datos son iguales si se cumplen las siguientes condiciones:
- Las entradas del directorio para los dos conjuntos de datos particionados coinciden; es decir, los nombres son los mismos y el número de entradas es igual.
- Los miembros correspondientes contienen el mismo número de registros.
- Los registros y claves correspondientes son idénticos.
Si se encuentran diez comparaciones desiguales durante el procesamiento, IECOMPR finaliza con el mensaje correspondiente.
// XXXXXXXW TRABAJO XXXXXXX , AAAA . A . A , CLASE = G , MSGCLASS = 1 , NOTIFICAR = XXXXX // PASO01 EJECUTAR PGM = IEBCOMPR , CUENTA = PJ00000000 // INCLUIR MIEMBRO=@PARCHES //*SYSIN DD DUMMY // SYSIN DD * COMPARAR TYPORG=PO /* // SYSUT1 DD DSN = XXXXXXX . ARCHIVO ANTIGUO , UNIDAD = DASD , DISP = SHR // SYSUT2 DD DSN = XXXXXXX . ARCHIVO NUEVO , UNIDAD = DASD , DISP = SHR // SYSUT # DD
Nota: IEBCOMPR no es un programa de comparación muy flexible ni fácil de usar. No puede restringir la comparación a ciertas columnas, no puede ignorar las diferencias en los espacios en blanco, no indica en qué parte del registro se produce la diferencia y se detiene tras 10 diferencias. Por otro lado, es rápido y está presente en todos los mainframes de IBM que ejecutan OS/360 y sus sucesores. Por lo tanto, resulta muy útil cuando se espera una coincidencia exacta, como al comparar módulos de carga que no se han vuelto a bloquear o al comprobar que una copia se realizó correctamente. Para comparar programas o informes, se suele utilizar el programa de comparación ISPF SuperC (ISRSUPC).
COPIA DE IEB
IEBCOPY copia, comprime y fusiona conjuntos de datos particionados . También puede seleccionar o excluir miembros específicos durante la operación de copia, así como renombrar o reemplazar miembros.
Algunas de las tareas que IEBCOPY puede realizar incluyen las siguientes:
- Creación de una descarga de un conjunto de datos particionado (PDS) a un conjunto de datos PS, para copia de seguridad o transmisión.
- Copiar un PDS en su lugar para recuperar el espacio no utilizado de los miembros eliminados; también llamado comprimir un PDS.
- Copiando los miembros seleccionados a otro PDS.
- Cambiar el nombre de algunos miembros de un PDS.
- Combinar varios conjuntos de datos particionados en un único PDS.
- Modificación, copia y rebloqueo de módulos de carga.
- Los miembros que ya están presentes en otro PDS no serán reemplazados a menos que se especifique la opción R.
Para la utilidad IEBCOPY , las instrucciones de control de trabajo necesarias para una copia son las siguientes:
// stepname EXEC PGM = IEBCOPY // SYSPRINT DD SYSOUT = class // MYDD1 DD DSN = xxxx . ppp . psps , DISP = SHR // MYDD2 DD DSN = xxxx . ppp . pssp , DISP = SHR // SYSIN DD * COPY INDD=MYDD1,OUTDD=MYDD2 SELECT MEMBER=(MEM1,MEM2,MEM3)/ EXCLUDE MEMBER=(SF,DF,SA)Las sentencias DD MYDD1 y MYDD2 son nombres elegidos por el usuario para los conjuntos de datos de entrada y salida particionados, respectivamente; los valores predeterminados son SYSUT1 y SYSUT2 . Puede utilizar cualquier DDNAME válido para estas dos sentencias DD. Estos DDNAME se especifican en las sentencias de control de la utilidad para indicar a IEBCOPY el nombre de los conjuntos de datos de entrada y salida. Solo necesita una sentencia DD para comprimir un PDS.
IEBDG
IEBDG (Generador de Datos) crea conjuntos de datos de prueba con patrones predefinidos. Las instrucciones de control definen los campos de los registros que se crearán, incluyendo su posición, longitud, formato e inicialización. IEBDG puede usar un conjunto de datos existente como entrada y modificar los campos según lo especificado en las instrucciones de control; por ejemplo, reemplazando un campo de nombre por texto alfabético aleatorio. El contenido de cada campo puede variar para cada registro, por ejemplo, rotando los caracteres de un campo alfanumérico hacia la izquierda o hacia la derecha en cada registro posterior.
Ejemplo:
// XXXXXXXW TRABAJO XXXXXXX , AAAA , CLASE = G , MSGCLASS = 1 , NOTIFICAR =& SYSUID //********************************************************************** //* CREACIÓN DE UN CONJUNTO DE DATOS PARA SER UTILIZADO POSTERIORMENTE //********************************************************************** // CRSTEP EXEC PGM = IEFBR14 // DDCREA DD DSN =& SYSUID .. MVSUT . SEQOUT , DISP = ( NUEVO , CATLG ) //********************************************************************** //* CREACIÓN DE LOS DATOS DE PRUEBA //********************************************************************** // PASO 1 EXEC PGM = IEBDG // SYSPRINT DD SYSOUT = * // SEQOUT DD DSN =& SYSUID .. MVSUT . SEQOUT , DISP = OLD // DATOS DD DE SYSIN SALIDA DSD=(SEQOUT) FD NOMBRE=CAMPO1,LONGITUD=30,UBICACIÓN_INICIO=1,FORMATO=AL,ACCIÓN=TL FD NOMBRE=CAMPO2,LONGITUD=30,UBICACIÓN_INICIO=31,FORMATO=AL,ACCIÓN=TR FD NOMBRE=CAMPO3,LONGITUD=10,UBICACIÓN_INICIO=71,IMAGEN=10, X P'1234567890',ÍNDICE=1 CREAR CANTIDAD=500,NOMBRE=(CAMPO1,CAMPO2,CAMPO3),RELLENAR=X'FF' FIN /* //********************************************************************** //* IMPRIMIENDO LOS DATOS DE PRUEBA EN SYSOUT //********************************************************************** // STEP2 EXEC PGM = IEBGENER // SYSPRINT DD SYSOUT = * // SYSUT1 DD DSN = * . STEP1 . SEQOUT , DISP = SHR // SYSIN DD DUMMY //SYSUT2 DD SYSOUT = * //********************************************************************** //* ELIMINA EL CONJUNTO DE DATOS CREADO, INCLUSO SI LOS PASOS ANTERIORES TERMINARON DE FORMA ANORMAL //********************************************************************** // DLSTEP EXEC PGM = IEFBR14 , COND = EVEN // DDDEL DD DSN =& SYSUID .. MVSUT . SEQOUT , DISP = ( OLD , DELETE , DELETE ) //IEBEDIT
IEBEDIT copia selectivamente partes de JCL.
Un ejemplo de programa IEBEDIT:
// IEBEDITJ JOB ACCT , '' , CLASS = P , MSGCLASS = T , MSGLEVEL = ( 1 , 1 ), NOTIFY =& SYSUID // STEP0001 EXEC PGM = IEBEDIT // SYSPRINT DD SYSOUT = * // SYSUT1 DD DSN = xxxxx . yyyyy . zzzzz , DISP = SHR // SYSUT2 DD SYSOUT = ( * , INTRDR ) // SYSIN DD * EDIT TYPE=INCLUDE,STEPNAME=(STEP10,STEP5,STEP15) /* //En este ejemplo, el conjunto de datos xxxxx.yyyyy.zzzzz debe contener uno o más trabajos (que deben incluir los pasos denominados STEP5, STEP10 y STEP15). Esta rutina IEBEDIT copia los pasos seleccionados del trabajo en el archivo de salida SYSUT2 (en este ejemplo, el lector interno).
La sintaxis de la instrucción EDIT es:
[etiqueta] EDITAR [INICIO=nombre_trabajo] [,TIPO={POSICIÓN|INCLUIR|EXCLUIR}] [,NOMBRE_PASO=(lista_nombres)] [,NOIMPRESIÓN]START=jobnameEspecifica el nombre del trabajo de entrada al que se aplica la instrucción EDIT. Cada instrucción EDIT debe aplicarse a un trabajo independiente. Si se especifica START sin TYPE ni STEPNAME, la instrucción JOB y todos los pasos del trabajo especificado se incluyen en la salida.
Por defecto: Si se omite START y solo se proporciona una instrucción EDIT, se procesa el primer trabajo encontrado en el conjunto de datos de entrada. Si se omite START en una instrucción EDIT distinta de la primera, el procesamiento continúa con la siguiente instrucción JOB encontrada en el conjunto de datos de entrada.
TYPE={POSITION|INCLUDE|EXCLUDE}especifica el contenido del conjunto de datos de salida. Estos valores se pueden codificar:
POSITIONEspecifica que la salida consistirá en una instrucción JOB, el paso de trabajo especificado en el parámetro STEPNAME y todos los pasos que siguen a dicho paso. Todos los pasos de trabajo anteriores al paso especificado se omiten de la operación. POSITION es el valor predeterminado.
INCLUDEespecifica que el conjunto de datos de salida debe contener una instrucción JOB y todos los pasos del trabajo especificados en el parámetro STEPNAME.
EXCLUDEespecifica que el conjunto de datos de salida debe contener una instrucción JOB y todos los pasos del trabajo que pertenecen al trabajo, excepto aquellos pasos especificados en el parámetro STEPNAME.
STEPNAME=(namelist)Especifica los nombres de los pasos del trabajo que desea procesar.
namelistPuede ser el nombre de un único paso del trabajo, una lista de nombres de pasos separados por comas o una secuencia de pasos separados por un guion (por ejemplo, PASOA-PASO). Se puede usar cualquier combinación de estos en una misma lista de nombres. Si se especifica más de un nombre de paso, toda la lista debe ir entre paréntesis.
Cuando se codifica con TYPE=POSITION, STEPNAME especifica el primer paso del trabajo que se colocará en el conjunto de datos de salida. Los pasos del trabajo anteriores a este paso no se copian al conjunto de datos de salida.
Cuando se codifica con TYPE=INCLUDEo TYPE=EXCLUDE, STEPNAME especifica los nombres de los pasos del trabajo que se incluirán o excluirán de la operación. Por ejemplo, STEPNAME=(STEPA,STEPF-STEPL,STEPZ)indica que los pasos del trabajo STEPA, STEPF a STEPL y STEPZ se incluirán o excluirán de la operación.
Si se omite STEPNAME, se copia todo el trabajo de entrada cuyo nombre se especifica en la instrucción EDIT. Si no se especifica ningún nombre de trabajo, se procesa el primer trabajo encontrado.
NOPRINTespecifica que el conjunto de datos del mensaje no debe incluir una lista del conjunto de datos de salida.
Predeterminado: El resultado se incluye en el conjunto de datos del mensaje.
Para más información, consulte aquí:
IEBGENER
IEBGENER copia registros de un conjunto de datos secuencial o crea un conjunto de datos particionado.
Algunas de las tareas que IEBGENER puede realizar incluyen las siguientes:
- Creación de una copia de seguridad de un conjunto de datos secuencial o de un miembro de un PDS .
- Modificar el tamaño del bloque físico o la longitud del registro lógico de un conjunto de datos secuenciales.
- Creación de un conjunto de datos editado.
- Imprimir un conjunto de datos secuenciales o un miembro de un PDS.
- Creación de un conjunto de datos de salida particionado a partir de un conjunto de datos de entrada secuencial.
Un ejemplo de un programa IEBGENER para copiar un conjunto de datos a otro:
// IEBGENER JOB ACCT , 'DATA COPY' , MSGCLASS = J , CLASS = A // STEP010 EXEC PGM = IEBGENER // SYSUT1 DD DSN = xxxxx . yyyyy . zzzzz , DISP = SHR // SYSUT2 DD DSN = aaaaa . bbbbb . ccccc , DISP = (, CATLG ), // UNIT = SYSDA , SPACE = ( TRK ,( 5 , 5 ), RLSE ), // DCB = ( RECFM = FB , LRECL = 1440 ) // SYSPRINT DD SYSOUT = * // SYSIN DD DUMMYPara tareas de copia directa, el programa de clasificación suele ser más rápido que IEBGENER. Por ello, muchos centros de datos que utilizan mainframes emplean una opción que redirige automáticamente dichas tareas al programa de clasificación ICEGENER en lugar de a IEBGENER.
En algunos sistemas es posible enviar correos electrónicos desde un trabajo por lotes dirigiendo la salida al escritor externoSMTP " " . En dichos sistemas, la técnica es la siguiente:
// IEBGENER JOB ACCT , 'DATA COPY' , MSGCLASS = J , CLASS = A // NORMRC EXEC PGM = IEBGENER // SYSPRINT DD SYSOUT = * // SYSUT1 DD * , LRECL = 80 HELO <SYSTEMID> MAIL FROM:<USERID@SYSTEMID> RCPT TO:<USERID@SYSTEMID> DATA From: <USERID@SYSTEMID> To: <USERID@SYSTEMID> Subject: Test MailCORREO DE PRUEBA DESDE EL MAINFRAME . SALIR /* // SYSUT2 DD SYSOUT = ( B , SMTP ), LRECL = 80 // SYSIN DD DUMMYTambién es posible adjuntar archivos al enviar el correo electrónico desde Mainframe.
IEBIMAGE
IEBIMAGE manipula varios tipos de definiciones (también conocidas como imágenes ) para la impresora IBM 3211, el subsistema de impresión láser IBM 3800 y la impresora IBM 4248. Sus usos comunes incluyen búferes de control de formularios ( FCB ), tablas de disposición de caracteres, definiciones de caracteres e imágenes de formularios que se imprimirán junto con el texto, logotipos de empresas o páginas con fondo gris (fondos horizontales alternos en gris y blanco, a juego con el papel verde anterior ). Con esta utilidad, se pueden almacenar como imágenes diversos formularios o logotipos e imprimirlos cuando sea necesario, utilizando el mismo papel blanco estándar. Esto elimina la necesidad de almacenar muchos formularios preimpresos y la necesidad de que los operadores detengan la impresora para cambiar el papel.
IEBISAM
IEBISAM descarga, carga, copia e imprime conjuntos de datos ISAM .
Extraído del manual de IBM SC26-7414-08 z/OS DFSMSdfp Utilities: El programa IEBISAM ya no se distribuye. A partir de z/OS V1R7, los conjuntos de datos ISAM ya no se pueden procesar (crear, abrir, copiar ni volcar). Los conjuntos de datos ISAM que aún estén en uso deben convertirse a conjuntos de datos secuenciados por clave VSAM.
Antes de z/OS V1R7, se podían usar los servicios de método de acceso para asignar un conjunto de datos secuenciado por clave VSAM y copiar un conjunto de datos ISAM en él.
IEBPTPCH
IEBPTPCH ("Imprimir y Perforar") imprime o perfora registros de un conjunto de datos secuencial o particionado.
Algunas de las tareas que IEBPTPCH puede realizar incluyen las siguientes:
- Impresión o perforación de un conjunto de datos completo , secuencial o particionado (PDS).
- Impresión o perforación de miembros PDS seleccionados.
- Imprimir o perforar registros seleccionados de un conjunto de datos secuencial o particionado.
- Imprimir o perforar un directorio PDS.
- Imprimir o perforar una versión editada de un conjunto de datos secuenciales o PDS.
- Comprobar si el conjunto de datos está vacío
// TRABAJO IEBPTPCH // EXEC PGM=IEBPTPCH // SYSIN DD * PRINT MAXFLDS=2 TÍTULO ITEM=('Nombre',22), ITEM=('GPA',50) TÍTULO ITEM=(' ',1) CAMPO DE REGISTRO=(25,1,,22), CAMPO=(4,51,,50) /* // SYSPRINT DD SYSOUT = * // SYSUT1 DD * Persona 1 307 C Meshel Hall 3.89 Segunda persona 123 Williamson Hall 2.48 Tercera persona 321 Maag Library 1.52 /* // SYSUT2 DD SYSOUT = * //Comprobación de conjunto de datos vacío: Si el conjunto de datos que se va a comprobar está vacío, entonces RC=4; de lo contrario, 0.
// TRABAJO IEBPTPCH // EXEC PGM=IEBPTPCH // SYSUT1 DD DSN = < nombre de archivo >, DISP = SHR // SYSUT2 DD DUMMY , // DCB = ( BLKSIZE = < tamaño de bloque >,RECFM=FA) // SYSIN DD * PRINT TYPORG=PS /* // SYSPRINT DD SYSOUT = * //IEBTCRIN
Lee registros desde un lector de cartuchos de cinta IBM 2495. El soporte final para IEBTCRIN se eliminó de z/OS 1.3.0 en 2002. [ 5 ]
IEBUPDAT
Modifica los registros en un conjunto de datos secuencial o en un miembro de un conjunto de datos particionado, siendo reemplazados por, pero no compatibles con, IEBUPDTE.
IEBUPDTE
IEBUPDTE ("UPDaTE") incorpora cambios en conjuntos de datos secuenciales o particionados. La patchutilidad UNIX es un programa similar, pero utiliza marcadores de formato de entrada diferentes ( por ejemplo , ./ INSERT ...en MVS se convierte @@...en Unix Patch).
Algunos programadores lo pronuncian "IEB up-ditty".
La utilidad IEBUPDTE se utiliza para mantener las bibliotecas de código fuente. Algunas de las funciones que puede realizar IEBUPDTE incluyen las siguientes:
- Creación y actualización de bibliotecas
- Modificación de conjuntos de datos secuenciales o miembros de PDS
- Cambiar la organización de un conjunto de datos de secuencial a particionado o viceversa.
IEBUPDTE se utiliza habitualmente para distribuir bibliotecas de código fuente desde cinta a DASD .
IEBUPDTE utiliza las mismas instrucciones de control de trabajos que la mayoría de las utilidades de tipo IEB. Las únicas excepciones son las siguientes:
- La instrucción IEBUPDTE acepta un parámetro PARM codificado en la instrucción EXEC , NEW o MOD . NEW indica que las instrucciones de control de utilidad y los datos de entrada están contenidos en la instrucción, por lo que no se requiere ninguna instrucción adicional. MOD indica que la instrucción contiene únicamente instrucciones de control de utilidad, sin datos de entrada. Por lo tanto, se requiere la instrucción adicional para definir el conjunto de datos de entrada.
SYSIN DDSYSUT1 DDSYSIN DDSYSUT1 DD - IEBUPDTE lee el conjunto de datos de entrada desde la
SYSUT1 DDinstrucción o desde laSYSIN DDinstrucción.
El control de trabajos utilizado por IEUPDTE es el siguiente:
// stepname EXEC PGM = IEUPDTE , PARM = NEW // SYSPRINT DD SYSOUT = class // SYSUT1 DD ... // SYSUT2 DD ... // SYSIN DD ...Utilidades de planificación
IEFBR14
IEFBR14 es un programa ficticio, que normalmente se inserta en JCL cuando la única acción deseada es la asignación o eliminación de conjuntos de datos.
Un ejemplo de un paso IEFBR14 :
// IEFBR14 JOB ACCT , 'DELETE DATASET' // STEP01 EXEC PGM = IEFBR14 // DELDD DD DSN = xxxxx . yyyyy . zzzzz , // DISP = ( MOD , DELETE , DELETE ), UNIT = DASDLa secuencia de llamada de OS/360 contenía la dirección de retorno en el Registro 14. Por lo tanto, un salto al Registro 14 provocaría la salida inmediata del programa. Sin embargo, antes y después de ejecutar este programa, el sistema operativo asignaba y liberaba conjuntos de datos según lo especificado en las sentencias DD, por lo que se utiliza habitualmente como una forma rápida de configurar o eliminar conjuntos de datos.
Inicialmente consistía en una sola instrucción, "Salto al Registro" 14. El mnemónico utilizado en el ensamblador de IBM era BR y, por lo tanto, el nombre: IEF BR 14. IEF es el "prefijo" del subsistema de "gestión de trabajos" de OS/360.
Este programa de una sola instrucción contenía un error: no establecía el código de retorno. Por lo tanto, fue necesario agregar una segunda instrucción para borrar el código de retorno y así finalizar con el estado correcto.
IBM informó de un error adicional en este programa, que ahora consta de dos instrucciones, y lo corrigió. Este error se debía a que el programa IEFBR14 no se había configurado para ser reingresable (es decir, que pudiera ser utilizado simultáneamente por más de un programa).
Algunos hackers han tomado IEFBR14 y han cambiado la instrucción BR 14 por BR 15, creando así "el bucle más corto del mundo", ya que el registro 15 contiene la dirección del propio módulo IEFBR14, y una instrucción BR 15 simplemente volvería a invocar el módulo, indefinidamente.
Utilidades del sistema
Estas utilidades suelen ser utilizadas por los programadores de sistemas para el mantenimiento del funcionamiento del sistema, en lugar de por los programadores para realizar tareas de desarrollo de aplicaciones en el sistema.
ICKDSF
ICKDSF ("Instalación de soporte de dispositivos") instala, inicializa y mantiene DASD, ya sea bajo un sistema operativo o de forma independiente .
IEHATLAS
Asigne vías alternativas a las vías defectuosas.
IEHDASDR
IEHDASDR [ 1 ] : 161–187 puede realizar varias operaciones para dispositivos de almacenamiento de acceso directo [ b ] (DASD)
- Inicializa un volumen DASD, con comprobación de superficie opcional.
- Asigne vías alternativas a las vías defectuosas.
- Imprime pistas en un DASD
- Cree una copia de seguridad de un volumen DASD en cinta.
- Restaurar volúmenes DASD desde cintas de respaldo.
Finalmente, IBM dejó de añadir compatibilidad con nuevos tipos de dispositivos a IEHDASDR y dirigió a los clientes al DSF gratuito para la inicialización de volúmenes y al DASDR (5740-UT1) y a los servicios de Data Facility/Data Set Services (5740-UT3, DF/DSS) de pago para la copia de seguridad y la restauración.
IBM eliminó IEHDASDR en MVS/XA. [ 6 ]
IEHINITT
IEHINITT ("INICIALIZAR Cinta") inicializa las cintas escribiendo etiquetas. Se pueden etiquetar varias cintas en una sola ejecución de la utilidad. Se pueden escribir etiquetas estándar de IBM o ASCII .
Un ejemplo de programa IEHINITT:
// IEHINITT JOB ACCT , 'TAPES DE ETIQUETA' , MSGCLASS = J , CLASS = A // STEP0001 EXEC PGM = IEHINITT , REGION = 8 M // SYSPRINT DD SYSOUT = A // LABEL DD DCB = DEN = 2 , UNIT = ( 3490 , 1 , DEFER ) // SYSIN DD * LABEL INITT SER=123450,NUMBTAPE=3 /*Este ejemplo etiquetará 3 cintas en una unidad de cinta magnética 3490. Cada cinta recibirá una etiqueta estándar de IBM. El valor de VOLSER se incrementará en uno por cada cinta etiquetada. Después de etiquetar cada cinta, se rebobinará y se descargará.
IEHIOSUP
IEHIOSUP actualiza los enlaces de direcciones de pista relativas (TTR) para las rutinas de llamada de supervisor (SVC) de tipo IV en SYS1.SVCLIB. IEHIOSUP ya no es compatible con OS/VS2 y versiones posteriores. [ 7 ]
Las funciones OPEN, CLOSE y EOV son realizadas por una serie de módulos SVC que se ejecutan secuencialmente. Algunos módulos contienen tablas que la XCTLmacro utiliza para enlazar con el siguiente módulo de la serie. Por motivos de rendimiento, para evitar una búsqueda en el directorio cada vez, estas tablas contienen las direcciones de disco de los módulos en lugar de sus nombres. Las actualizaciones de SYS1.SVCLIB pueden provocar que estas direcciones cambien, por lo que es necesario ejecutar IEHIOSUP para instalar las direcciones correctas. [ 8 ]
Este es un ejemplo del JCL necesario para ejecutar IEHIOSUP. [ 1 ]
// TRABAJO IHEIOSUP // EXEC PGM=IEHIOSUP // SYSUT1 DD DSNAME = SYS1 . SVCLIB ~ DISP = OLD , UNIT = 2311 , // VOLUME = SER = 111111 // SYSPRINT DD SYSOUT = A //IEHLIST
IEHLIST es una utilidad que se utiliza para listar las entradas en un directorio de conjunto de datos particionado (PDS) o para listar el contenido de una tabla de contenido de volumen ( VTOC ).
La utilidad IEHLIST se utiliza para listar las entradas contenidas en cualquiera de los siguientes:
- Directorio PDS
- VTOC
- Catálogo (OS CVOL)
Un ejemplo de programa IEHLIST:
// IEHLIST JOB ACCT , 'LIST PDS' , MSGCLASS = J , CLASS = A // STEP0001 EXEC PGM = IEHLIST , REGION = 8 M // SYSPRINT DD SYSOUT = A // PDS1 DD DSN = xxxx . yyyy . zzzz , DISP = OLD // SYSIN DD * LISTPDS DSNAME=xxxx.yyyy.zzzz,FORMAT /*Este trabajo generará un listado formateado del directorio PDS del PDS llamado xxxx.yyyy.zzzz.
Un ejemplo de un programa IEHLIST para listar un VTOC es muy similar:
// IEHLIST JOB ACCT , 'LIST VTOC' , MSGCLASS = J , CLASS = A // STEP0001 EXEC PGM = IEHLIST , REGION = 8 M // SYSPRINT DD SYSOUT = A // VOL1 DD VOL = SER = vvvvvv , DISP = OLD // SYSIN DD * LISTVTOC VOL=SER=vvvvvv,FORMAT /*IEHMOVE
IEHMOVE mueve o copia colecciones de datos. Sin embargo, los entornos DFSMS ( System Managed Storage ) son ahora comunes, e IBM no recomienda usar la utilidad IEHMOVE en ellos. Un movimiento se diferencia de una copia en que, tras el movimiento, el conjunto de datos original se elimina. Algunas de las tareas que puede realizar IEHMOVE incluyen las siguientes:
- Mover o copiar conjuntos de datos secuenciales y particionados
- Traslado o copia de conjuntos de datos multivolumen
- Trasladar un volumen completo de conjuntos de datos
A primera vista, IEHMOVE podría parecer redundante con las utilidades IEBGENER e IEBCOPY . Sin embargo, IEHMOVE es más potente. La principal ventaja de usar IEHMOVE es que no es necesario especificar información de espacio o DCB para los nuevos conjuntos de datos. Esto se debe a que IEHMOVE asigna esta información en función de los conjuntos de datos existentes.
Otra ventaja de IEHMOVE es que permite copiar o mover grupos de conjuntos de datos, así como volúmenes completos. Gracias a la facilidad para mover grupos de conjuntos de datos o volúmenes, la utilidad IEHMOVE suele ser la preferida por los programadores de sistemas .
Ejemplo de trabajo IEHMOVE:
// stepname EXEC PGM = IEHMOVE , PARM = 'LINECNT=xx,POWER=n' // SYSPRINT DD SYSOUT = class // SYSUT1 DD UNIT = aaaa , VOL = SER = bbbbbb , DISP = OLD // anyname1 DD UNIT = cccc , VOL = SER = dddddd , DISP = OLD // anyname2 DD UNIT = eeee , VOL = SER = ffffff , DISP = OLD // SYSIN DD ...Las sentencias DD para IEHMOVE, a excepción de SYSPRINT y SYSIN, hacen referencia a volúmenes DASD o de cinta magnética en lugar de conjuntos de datos individuales . Sin embargo, hacer referencia a volúmenes puede ser problemático, ya que especificarlos DISP=OLDotorga acceso exclusivo a un volumen. Por lo tanto, mientras se ejecuta su trabajo IEHMOVE, todo ese volumen (y todos los conjuntos de datos que contiene) no están disponibles para otros usuarios. Esto es aceptable para volúmenes privados, como cintas o volúmenes DASD montables, pero inaceptable para volúmenes públicos.
La instrucción DD SYSUT1 especifica un volumen DASD donde se asignan tres conjuntos de datos de trabajo requeridos por IEHMOVE. Debe especificar la información de la unidad y del volumen para esta instrucción DD.
IEHMOVE fue uno de los primeros sistemas que se desarrollaron en PL/S .
En este ejemplo, tres conjuntos de datos secuenciales (SEQSET1, SEQSET2 y SEQSET3) se mueven de un volumen de disco a tres volúmenes de disco separados. Cada uno de los tres volúmenes receptores se monta cuando IEHMOVE lo requiere. Los conjuntos de datos de origen no se catalogan. IEHMOVE asigna el espacio.
// TRABAJO MOVEDS ... // PASO 1 EXEC PGM = IEHMOVE // SYSPRINT DD SYSOUT = A // SYSUT1 DD UNIT = disco , VOLUMEN = SER = 333333 , DISP = ANTIGUO // DD1 DD UNIT = ( disco ,, APLAZAR ), DISP = ANTIGUO , // VOLUMEN = ( PRIVADO ,, SER = ( 222222 )) // DD2 DD UNIT = ( disco ,, APLAZAR ), DISP = ANTIGUO , // VOLUMEN = ( PRIVADO ,, SER = ( 222333 )) // DD3 DD UNIT = ( disco ,, APLAZAR ), DISP = ANTIGUO , // VOLUMEN = ( PRIVADO ,, SER = ( 222444 )) // DD4 DD VOLUMEN = ( PRIVADO , CONSERVAR , SER = ( 444444 )), // UNIT = disk , DISP = OLD // SYSIN DD * MOVE DSNAME=SEQSET1,TO=disk=222222,FROM=disk=444444 MOVE DSNAME=SEQSET2,TO=disk=222333,FROM=disk=444444 MOVE DSNAME=SEQSET3,TO=disk=222444,FROM=disk=444444 /*IEHPROGM
IEHPROGM crea y mantiene los datos de control del sistema. También se utiliza para renombrar y borrar (eliminar) un conjunto de datos.
Algunas de las tareas que IEHPROGM puede realizar incluyen las siguientes:
- Eliminar (borrar) un conjunto de datos o un miembro de PDS.
- Cambiar el nombre de un conjunto de datos o un miembro de PDS.
- Catalogar o descatalogar un conjunto de datos
- Mantener las contraseñas del conjunto de datos en el sistema PASSWORD dataset [ c ]
Para catalogar:
// SYSIN DD * CATLG DSNNAME=nombre-conjunto-de-datos, VOL=nombre-dispositivo=número-de-volumen /* //IFHSTATR
Seleccione y formatee los registros SMF para detectar errores de cinta.
Servicios públicos independientes
Estos programas no se ejecutan bajo el control de un sistema operativo.
- IBCDASDI
- Formatee los volúmenes de acceso directo y asigne pistas alternativas.
- IBCDMPRS
- Realizar copias de seguridad y restaurar volúmenes de acceso directo.
- IBCRCVRP
- Asigne pistas alternativas, recupere y reemplace datos.
- ICAPRTBL
- Cargue el búfer de control de formularios (FCB) y el búfer del conjunto de caracteres universal (UCS) en la impresora.
Ayudas de servicio
Estos son programas de utilidad que IBM documenta en manuales de servicio o diagnóstico [ 9 ] . Los manuales de servicio originales de OS/360 tenían nombres que comenzaban con IFC e IM* , pero IBM cambió la convención de nomenclatura a HM* para OS/VS1 y a AM* para OS/VS2 . IBM no cambió la convención IFC.
- IFCDIP00
- Inicializa el conjunto de datos SYS1.LOGREC.
- IFCEREP0
- Resume e imprime los registros del conjunto de datos de registro de errores SYS1.LOGREC.
- GTF (Instalación de rastreo generalizado)
- Registra eventos seleccionados del sistema, como interrupciones de SVC y de E/S.
- IMAPTFLE
- Genera el JCL necesario para aplicarlo a un PTF y/o aplica el PTF. Las funciones de este programa han sido integradas en SMP .
- IMASPZAP
- SPZAP se utiliza para actualizar y mantener programas y conjuntos de datos. SPZAP puede aplicar correcciones a módulos o programas, verificar o reemplazar instrucciones o datos en un módulo de carga, objeto de programa o archivo de disco. [ 10 ] IBM cambió el nombre de IMASPZAP a HMASPZAP en OS/VS1 y a AMASPZAP en OS/VS2 , pero conservó el nombre original como alias.
- IMBLIST
- Formatea e imprime módulos de objetos, módulos de carga, objetos de programa y registros de identificación CSECT.
- IMBMDMAP
- Los mapas cargan módulos. Las funciones de este programa han sido integradas en IMBLIST .
- IMCJQDMP
- Programa independiente para formatear e imprimir la cola de trabajos del sistema. No aplicable a MVS .
- IMCOSJQD
- Formatear e imprimir la cola de trabajos del sistema. No aplicable a MVS .
- IMDPRDMP
- Formatea e imprime volcados de memoria , conjuntos de datos de intercambio TSO y datos de rastreo GTF . [ 11 ] Las funciones de este programa han sido absorbidas por el Sistema Interactivo de Control de Problemas (IPCS).
- IMDSADMP
- Programa independiente para producir un volcado de alta o baja velocidad del almacenamiento principal.
Programas de apoyo diversos
CLASIFICAR
La utilidad de ordenación/combinación es un programa que ordena los registros de un archivo según un orden específico o combina archivos previamente ordenados. Su uso es muy frecuente; a menudo es la aplicación más utilizada en entornos de mainframe. Los programas modernos de ordenación/combinación también permiten seleccionar u omitir ciertos registros, resumirlos, eliminar duplicados, reformatearlos y generar informes sencillos. La ordenación/combinación es tan importante que existen varias empresas que comercializan sus propios paquetes para mainframes IBM, como CA-SORT y SYNCSORT de Computer Associates.
El programa original de clasificación/combinación de IBM para OS/360, 360S-SM-023, con nombre de programa IERRCO00, solo admitía dispositivos de almacenamiento de acceso directo (DASD) de primera generación de IBM [ d ] y cintas (2400). La compatibilidad con unidades de disco de segunda generación la proporcionaban productos de software de IBM como 5734-SM1 y el posterior 5740-SM1 ( DFSORT ), ICEMAN. El programa de clasificación/combinación preferido de una instalación solía tener el alias SORT.
SORT se ejecuta frecuentemente como un programa independiente, donde normalmente lee la entrada de un archivo identificado por DD SORTINy escribe la salida ordenada en un archivo identificado por DD SORTOUT. También se suele llamar desde otra aplicación, mediante el verbo COBOL o llamadas a rutinas PL/I , donde puede usar archivos o recibir registros para que el llamador los ordene y/o devolver los registros ordenados al llamador uno a uno.SORTPLISRTxSORTINSORTOUT
El funcionamiento de SORT se rige por instrucciones de control, que son en gran medida compatibles entre los distintos programas de ordenación de IBM y de terceros. La instrucción SORTOR MERGEdefine las claves de ordenación : los campos por los que se ordenarán o combinarán los datos. Esta instrucción identifica la posición, la longitud y el tipo de datos de cada clave. La RECORDinstrucción describe el formato y la longitud de los registros en el archivo de entrada. Otras instrucciones permiten al usuario especificar qué registros deben incluirse o excluirse de la ordenación y especificar otras transformaciones que se realizarán en los datos.
Las claves pueden ser cualquier combinación de datos de caracteres EBCDIC o ASCII , decimales zonificados o empaquetados, binarios de punto fijo con o sin signo, o de punto flotante hexadecimal. Las claves pueden ubicarse en cualquier parte del registro y no tienen por qué ser contiguas. La ordenación puede especificarse según cualquier combinación de secuencia ascendente y descendente por clave. [ 12 ]
El programa de ordenación de OS/360, IERRCO00, divide los datos de entrada en secciones, ordena cada sección en la memoria principal y escribe la sección ordenada en conjuntos de datos intermedios en dispositivos de almacenamiento de acceso directo (DASD) o cinta magnética . Las fases de fusión finales combinan las secciones para producir la salida ordenada. SORT utiliza una de varias técnicas para distribuir las secciones entre los dispositivos de almacenamiento secundarios. Normalmente, SORT puede elegir la técnica óptima, pero el usuario puede modificarla. [ 13 ] SORT dispone de tres técnicas que se pueden utilizar si el almacenamiento intermedio es cinta y dos si es disco. [ 14 ]
Las técnicas de cinta adhesiva son:
- Balanceado (BALN): más eficiente si se dispone de más unidades de cinta para el almacenamiento intermedio.
- Polifásico (POLY): se utiliza si hay menos unidades de cinta disponibles para el almacenamiento intermedio.
- Oscilante (OSCL): utiliza más memoria principal. El tamaño del conjunto de datos de entrada debe ser conocido o aproximado.
Las técnicas de disco son:
- Acceso directo balanceado (BALN): utiliza de tres a seis conjuntos de datos de almacenamiento intermedio.
- El acceso directo entrecruzado (CRCX) utiliza entre seis y diecisiete conjuntos de datos de almacenamiento intermedio y requiere el doble de almacenamiento principal que la técnica de acceso directo balanceado.
Enlazadores
OS/360 solo disponía del editor Linkage, disponible en varias configuraciones. DFSMSdfp añadió Binder como alternativa para cargar módulos y como única opción para objetos de programa.
Editor de enlaces
El editor de enlaces crea y reemplaza módulos de carga en un conjunto de datos particionado a partir de una combinación de tarjetas de control, módulos de objeto y otros módulos de carga. Puede renombrar o reemplazar una sección de control (CSECT) y realizar varias otras funciones diversas. Originalmente estaba disponible en varias configuraciones según los requisitos de almacenamiento. El editor de enlaces de nivel E tenía dos versiones, IEWLE150 e IEWLE180, capaces de operar en 15 KB y 18 KB de almacenamiento disponible respectivamente. El editor de enlaces de nivel F también tenía dos versiones, IEWLF440 e IEWLF880, que requerían 44 KB y 88 KB respectivamente. [ 15 ] El editor de enlaces de nivel E ya no está disponible y el editor de enlaces de nivel F ahora se conoce simplemente como el editor de enlaces. En z/OS, el editor de enlaces solo está presente por compatibilidad.
Fred Brooks utiliza el editor de enlaces System/360 como un ejemplo paradigmático del segundo efecto del sistema .
Más allá de esta función básica, también gestiona superposiciones de programas. Es una de las mejores herramientas de superposición jamás construidas. ... Sin embargo, también es el último y mejor de los dinosaurios, ya que pertenece a un sistema en el que la multiprogramación es el modo normal y la asignación dinámica de núcleos la suposición básica. Esto entra en conflicto directo con la noción de usar superposiciones estáticas... Además, el editor de enlaces requiere tanto espacio y contiene tantas superposiciones que, incluso cuando se usa solo para enlazar sin gestionar superposiciones, es más lento que la mayoría de los compiladores del sistema. La ironía de esto es que el propósito del enlazador es evitar la recompilación. [ 16 ]
Aglutinante
El enlazador, añadido en DFSMS , realiza las mismas funciones que el editor de enlaces. Además, admite un nuevo formato, el objeto de programa, que es el equivalente funcional de un módulo de carga en Partitioned Data Set Extended (PDSE), con muchas capacidades adicionales.
Ensambladores
Por lo general, se utilizaba un ensamblador estándar, ya que era necesario para la generación del sistema (SYSGEN) y la personalización.
- IETASM
- El lenguaje ensamblador (E) estaba destinado a ejecutarse en OS/360 en máquinas muy pequeñas.
- IEUASM
- El ensamblador (F) estaba destinado a instalaciones normales de OS/360.
- IFOX00
- El ensamblador (XF) era el ensamblador del sistema para OS/VS1 y OS/VS2, reemplazando a los ensambladores (E) y (F), aunque no era totalmente compatible con ellos. IBM pronto convirtió al ensamblador (XF) en el ensamblador del sistema también para DOS y VM.
- IEV90
- Assembler (H) y Assembler (H) Versión 2 son ensambladores de productos de programas que generalmente son más rápidos que Assemblers E, F y XF, aunque no son totalmente compatibles con ninguno de ellos.
- ASMA90
- IBM High Level Assembler (HLASM) es esencialmente una nueva versión de Assembler (H) versión 2 y es el único ensamblador que IBM admite en z/OS y z/VM. Reemplaza a todos los ensambladores anteriores, aunque no es totalmente compatible con ellos.
Compiladores
Cada lenguaje de programación utilizado en un taller informático tiene uno o más compiladores asociados que traducen un programa fuente a un módulo objeto en lenguaje máquina. Posteriormente, el editor de enlaces, IEWL, debe procesar el módulo objeto generado por el compilador para crear un módulo de carga ejecutable.
IGYCRCTL es un ejemplo común de compilador; es el compilador del producto actual IBM Enterprise COBOL para z/OS. A lo largo de los años, han existido varios compiladores de IBM COBOL con nombres diferentes, aunque los usuarios pueden usar un alias COBOLpara la versión actual.
Existen muchos otros compiladores para diversos lenguajes de programación. Los compiladores incluidos con OS/360 son ALGOL , COBOL, FORTRAN , PL/I y RPG . A partir de 2026Los compiladores compatibles disponibles para z/OS son COBOL, FORTRAN, C y C++ , PL/I, Python , Go , Node.js ( Javascript ) y Java . [ 17 ]
Algunos compiladores antiguos, por ejemplo para Ada , pueden ejecutarse en z/OS, pero ya no cuentan con soporte.
Programa de Modificación del Sistema (SMP)
El Programa de Modificación del Sistema (SMP) es la herramienta para instalar servicios en OS/360 y sus sucesores, reemplazando, por ejemplo, los trabajos de ensamblaje independiente, edición de enlaces e IMAPTFLE. Originalmente una función opcional, es obligatoria para MVS/SP y versiones posteriores, y la versión del programa, SMP/E, está incluida en los sistemas más recientes, como z/OS.
Notas
- ↑ subdividido en utilidades de conjunto de datos, utilidades del sistema y utilidades independientes.
- ↑ Inicialmente, los DASD compatibles eran discos, tambores y celdas de datos; actualmente son discos y SSD que simulan discos.
- ↑ El conjunto de datos PASSWORD está obsoleto y ha sido reemplazado por subsistemas de seguridad que funcionan a través de la función de autorización del sistema ( SAF ), por ejemplo, ACF2 , RACF .
- ↑ El manual enumera información de capacidad para los discos 2311 y 2314 y el tambor 2301, pero no indica que sean los únicos DASD compatibles.
Referencias
- 1 2 3 4 Sistema operativo IBM System/360: Utilidades (PDF) (Duodécima edición), IBM Corporation, junio de 1970, GC28-6586-11Utilidades del sistema operativo - Números de programa 360S-UT-506 360S-UT-507 (PDF) (Decimosexta edición), IBM Corporation, abril de 1973, GC28-6586-15
- ↑ Sistema operativo IBM System/360: Ayudas de servicio, versión 21 del sistema operativo (PDF) (Tercera edición), IBM Corporation, marzo de 1972, GC28-6719-2
- ↑ "Directorio de mensajes VSl - Parte 1" (PDF) . Biblioteca de mensajes OS/VS: Mensajes del sistema VS1 - Versión 7 (PDF) . Sistemas. IBM . págs. INT-1 – INT-2 . GC38-1001-10 . Consultado el 23 de mayo de 2025 .
- ↑ "Introducción" (PDF) . Biblioteca de mensajes OS/VS: Ayudas de servicio y mensajes OLTEP - Versión 2 de VS1 - Versión 1 de VS2 (PDF) . IBM . págs. 9-10 . GC38-1006-2 . Consultado el 23 de mayo de 2025 .
- ↑ Guía del programador del sistema RACF de z/OS Security Server (PDF) . IBM. Marzo de 2002. pág. xxii . Consultado el 26 de mayo de 2025 .
- ↑ Cuaderno de conversión de arquitectura extendida MVS (PDF) (Tercera edición), mayo de 1984, pág. 1-1, GC28-1143-2
- ↑ Guía de planificación de OS/VS2 (PDF) . IBM Corporation. Julio de 1972. pág. 79. Consultado el 5 de enero de 2024 .
- ↑ Manual de lógica de programas de utilidades del sistema operativo IBM System/360 (PDF) . IBM Corporation. Noviembre de 1968. págs. 47–49 . Consultado el 4 de enero de 2024 .
- ↑ Diagnóstico de z/OS MVS: Herramientas y ayudas de servicio Versión 2 Release 3 (PDF) , IBM Corporation, 20 de julio de 2018, GA32-0905-30
- ↑ "SPZAP: Modificar datos en programas y VTOC" . ibm.com . Consultado el 28 de mayo de 2025 .
- ↑ Ayudas de servicio de OS/VS (PDF) . IBM Corporation. Diciembre de 1972. págs. 111–172 . Consultado el 11 de marzo de 2026 .
- ↑ IBM Corporation. Guía de programación de aplicaciones DFSORT (PDF) . Consultado el 28 de marzo de 2017 .
- ↑ Programa de ordenación/combinación del sistema operativo Número de programa 360S-SM-023 Versión 21 del sistema operativo (PDF) (Novena edición). IBM Corporation. Febrero de 1973. pág. 17. GC28-6543-8.
Si observa que, para una aplicación de ordenación/combinación específica, el programa no selecciona la técnica más eficiente, puede solicitar que se utilice otra técnica.
- ↑ IBM Corporation (1973). Programa de ordenación/fusión del sistema operativo, número de programa 360S-SM-023, versión 21 del sistema operativo (PDF) . Consultado el 2 de abril de 2018 .
- ↑ IBM System/360 Operating System System Generation (PDF) (2.ª ed.). IBM Corporation. Octubre de 1966. pág. 57. Consultado el 29 de mayo de 2025 .
- ↑ Brooks, Frederick P. (1975). El hombre-mes mítico . Addison-Wesley. págs. 56–57 . ISBN 0-201-00650-2.
- ↑ "Compiladores de IBM" . IBM.com . Consultado el 12 de marzo de 2026 .
Véase también
Enlaces externos
- Utilidades DFSMSdfp
- Servicios de métodos de acceso DFSMS para catálogos
- Guía de administración de almacenamiento DFSMSdss
- SERVICIOS PÚBLICOS DE MVS
- Sistemas operativos para mainframes de IBM
- Software de utilidad