El subsistema de entrada de trabajos (JES) es un componente de los sistemas operativos de mainframe MVS de IBM que se encarga de gestionar las cargas de trabajo por lotes . En la actualidad, existen dos implementaciones distintas del sistema de entrada de trabajos denominadas JES2 y JES3 . Están diseñadas para proporcionar una ejecución eficiente de trabajos por lotes.
El procesamiento de trabajos se divide en varias fases para proporcionar paralelismo a través de la segmentación . Estas fases incluyen el procesamiento de entrada, donde se leen e interpretan los trabajos, la fase de ejecución, donde se ejecutan los trabajos, y el procesamiento de salida, donde la salida del trabajo se imprime o se almacena en DASD . Se suele decir que los trabajos que se encuentran en la misma fase de ejecución residen en una cola en particular; por ejemplo, los trabajos que se están ejecutando actualmente están en la cola de ejecución.
Para mejorar la eficiencia de E/S, JES realiza un spooling , que proporciona a varios trabajos acceso simultáneo a un volumen de almacenamiento común. JES utiliza una estructura denominada punto de control para realizar copias de seguridad de la información sobre los trabajos que se están ejecutando actualmente y su salida asociada. El punto de control se puede utilizar para restaurar los trabajos y la salida en caso de fallos inesperados de hardware o software.
Aunque JES2 y JES3 proporcionan la misma funcionalidad básica, hay ciertas características que pueden estar presentes en un JES pero no en el otro. Debido a estas diferencias, un JES puede ser preferido sobre el otro en ciertas instalaciones de clientes. El JCL se utiliza para definir trabajos tanto para JES2 como para JES3, pero generalmente se deben realizar pequeños cambios en el JCL para que un trabajo escrito para un JES se ejecute en el otro. Un problema común era que JES3 verificaba que todos los conjuntos de datos enumerados en el JCL existían antes de la ejecución o que había un paso anterior donde el conjunto de datos se definía como NEW,CATLG. JES2 no insistía en esto, permitiendo que el trabajo se ejecutara aunque fallara cuando el paso que lo usaba no lo encontrara.
El procesamiento de trabajos por lotes de OS/360 tenía una flexibilidad operativa y un rendimiento limitados, lo que se solucionó mediante dos paquetes desarrollados en campo llamados Houston Automatic Spooling Priority ( HASP ) y Attached Support Processor ( ASP ).
HASP fue desarrollado por contratistas de la División de Sistemas Federales de IBM en el Centro Espacial Johnson en Houston . [1] [2] Originalmente administraba la programación de trabajos y la salida de impresión y perforación para una sola computadora OS/360. Se agregó la capacidad de spool de acceso múltiple para permitir que las computadoras pares compartan una cola de trabajos común y colas de salida de impresión y perforación. [ cita requerida ]
Con la introducción de System/370 en 1972, IBM reescribió HASP para convertirlo en una parte estándar del sistema y lo renombró Job Entry Subsystem 2. JES2 se introdujo en OS/VS2 en la versión 2, también conocida como MVS , en 1973. [3] Pasaron muchos años antes de que las etiquetas HASP se eliminaran del código fuente, y los mensajes emitidos por JES2 todavía tienen el prefijo $HASP
. Varios comandos JES2 continúan admitiendo la especificación de JES2
o HASP
para mantener la compatibilidad con versiones anteriores . [4]
ASP inicialmente significaba Attached Support Processor (procesador de soporte adjunto) , [a] [5] y fue desarrollado para proporcionar un uso eficiente de múltiples sistemas con una carga de trabajo compartida. Permitía que un sistema central distribuyera trabajos a múltiples sistemas conectados; ASP podía ejecutar una mezcla de emulación de OS/360 , SVS y 7090 en un procesador principal 360/65, pero solo [b] OS/360 y SVS en otros modelos S/360 y S/370. ASP se anunció en marzo de 1967, [6] : p.710 y ese año se informó que "funcionaba de manera muy estable". [7]
El ASP evolucionó a partir del diseño del sistema acoplado directo 7094/7040 , que utiliza comunicación de canal de datos a canal de datos. [8] Al conectar un IBM 7040 como periférico, el rendimiento del procesador se duplicó. [ cita requerida ]
En una configuración típica de ASP, un pequeño mainframe como un 360/40, llamado sistema de soporte , controlaba uno o más procesadores 360/65 o más grandes, llamados sistemas principales . Los ordenadores estaban conectados a través de canales selectores en cada host conectados a adaptadores de canal a canal en una forma temprana de red informática de punto a punto de corta distancia.
ASP requería la compra de una computadora adicional para gestionar la entrada y salida de los hosts que ejecutaban la carga de trabajo, lo que se justificaba económicamente por el alto costo de los canales multiplexores de bytes independientes necesarios para controlar las impresoras y los dispositivos lectores de tarjetas perforadas; [ cita requerida ] los sistemas 360/50 y más pequeños tenían un canal multiplexor de bytes integrado, mientras que los sistemas 360/65 y más grandes más rápidos requerían una unidad independiente relativamente cara. El uso de ASP hizo posible evitar el costo del canal multiplexor de bytes, y al descargar la programación de trabajos, la impresión y el manejo de tarjetas también se descargaron esas funciones de las máquinas más grandes. [ cita requerida ]
La mayor confiabilidad fue otra ventaja para compensar el costo adicional del hardware. [ cita requerida ] Uno o más sistemas principales podrían fallar o desconectarse para mantenimiento sin tener que desmantelar todo el complejo.
El ASP estaba dirigido principalmente a grandes agencias gubernamentales y contratistas de defensa que podían tener hasta seis 360/65, todos programados y administrados por una máquina ASP separada. [ cita requerida ] Una variante poco común, el ASP local ( LASP ), era una única máquina grande con las funciones ASP ejecutándose en la misma máquina.
En la década de 1970, una notable instalación de ASP se realizó en la Universidad de Princeton controlando un mainframe IBM 360/91. [ cita requerida ]
En 1973, IBM reescribió ASP y lo renombró JES3, admitiendo únicamente MVS. [3]
También había un JES en OS/VS1 al que a menudo se hacía referencia como JES1 . [9] [10] Además, el subsistema maestro ( MSTR ), que está integrado en MVS, puede iniciar trabajos que se ejecutan fuera del control del JES principal, incluido el Programador maestro y el propio JES principal. [11] Originalmente, el JCL para el subsistema maestro estaba en módulos de carga proporcionados por IBM, pero en las versiones actuales de MVS a través de z/OS, se puede proporcionar como miembro de la biblioteca de parámetros del sistema (PARMLIB).
Se proporcionó el código fuente a los clientes de IBM tanto para ASP como para HASP, y muchos clientes realizaron mejoras sustanciales a estos programas, algunas de las cuales se incorporaron al producto oficial. [ cita requerida ] Muchas más instalaciones hicieron uso de HASP que de ASP, y en los sistemas z/OS contemporáneos, hay muchas más instalaciones de JES2 que de JES3. [ cita requerida ] Debido a su historia única, IBM continúa enviando código fuente de JES2 y JES3 en lugar de código objeto , a diferencia de la mayoría de los componentes del sistema operativo. [ cita requerida ]
Para mejorar la capacidad de mantenimiento y servicio de las mejoras escritas por el usuario, JES proporciona un conjunto de puntos de salida que pasan el control de JES a los programas de usuario en puntos clave de procesamiento. [ cita requerida ] Estas extensiones pueden proporcionar funcionalidad personalizada, como comandos especiales, encabezados de página de impresión personalizados y procesamiento de trabajos no estándar.
En 2017, IBM publicó una declaración de dirección para que JES2 sea el JES "estratégico", lo que significa que todos los esfuerzos de desarrollo futuros se centrarán en JES2 en lugar de JES3. [12] IBM ha asegurado a los clientes que JES3 seguirá recibiendo soporte hasta que se anuncie una fecha de fin de soporte. [13] [14] En febrero de 2019, IBM anunció que z/OS 2.5 (cuyo lanzamiento se espera para 2021) será la última versión de z/OS que incluirá JES3. [15] En octubre de 2019, Phoenix Software International anunció que había licenciado el código fuente de JES3 de IBM y que se haría cargo de su mantenimiento y mejora. [16]
IBM afirma que JES2 es el subsistema de entrada de trabajo estratégico para z/OS.