El Programa de Prioridad de Spooling Automático de Houston , comúnmente conocido como HASP , es una extensión del sistema operativo IBM OS/360 y sus sucesores que proporciona soporte extendido para "gestión de trabajos, gestión de datos, gestión de tareas e ingreso remoto de trabajos ". [1] : 1–3
OS/360 incluía rutinas de spooling, llamadas lectores/intérpretes y escritores de salida . [2] Cada lector/intérprete era "responsable de leer un flujo de trabajo de entrada", es decir, un dispositivo de entrada. Del mismo modo, cada escritor de salida era responsable de controlar una impresora o perforadora . Los datos en spool se almacenaban en conjuntos de datos temporales del SO controlados por servicios estándar del SO. Cada lector/intérprete o escritor de salida era una tarea independiente del sistema operativo en su propia partición o región. [3] Un sistema con una gran cantidad de lectores, impresoras y perforadoras podría tener una gran cantidad de tareas de spooling.
HASP fue desarrollado por contratistas de la División de Sistemas Federales de IBM en el Centro Espacial Lyndon B. Johnson en Houston . Los desarrolladores fueron Tom Simpson y Bob Crabtree. HASP era un programa que se ejecutaba en un mainframe y realizaba funciones como: programación , control del flujo de trabajo, spooling e impresión/perforación. HASP no tenía soporte para IBM System/360 Operating System Remote Job Entry , 360S-RC-536, pero proporcionaba funciones propias aproximadamente equivalentes.
En HASP II V3, Roger Fajman, Bill Jones y Jim Oberthaler de NIH crearon la capacidad de spool compartido para HASP que fue utilizada por muchos sitios mainframe. Permitió que cada sistema HASP compartiera un spool y un punto de control comunes. Esto permitió equilibrar la carga de trabajo en un entorno de múltiples mainframes. En HASP II V4, Don Greb y Dave Miko de Mellon Bank trasladaron el spool compartido de HASP a esta versión. Don Greb de Mellon Bank lo trasladó al spool de acceso múltiple de JES2 (el soporte formal de IBM de HASP en MVS ). Mellon Bank distribuyó más de 350 copias de los mods de spool compartido de HASP II V4 en todo el mundo. Los Mellon Mods de spool compartido se agregaron al proceso de distribución SHARE para que se pudiera acceder a ellos más ampliamente. Los "Mellon Mods" fueron la base para Jes/2 Multi Access Spool.
El programa fue mencionado a veces con otros nombres, pero no hay ninguna indicación de que IBM los haya utilizado alguna vez en documentos oficiales.
El programa pasó a ser clasificado como parte de la biblioteca IBM Type-III . Tenía un competidor, ASP (Attached Support Processor), que se ejecutaba en un mainframe y controlaba la programación de otros mainframes conectados. ASP luego se convirtió en JES3 .
En MVS , HASP se convirtió en JES2, uno de los dos subsistemas de entrada de trabajos . Pasaron muchos años hasta que se eliminaron las etiquetas HASP de la fuente JES2 y los mensajes emitidos por JES2 todavía tienen el prefijo "$HASP".
Se utilizó una versión modificada de HASP para proporcionar servicios de spooling por lotes y entrada remota de trabajos para el Sistema de Terminales de Michigan a fines de los años 1960, 1970 y 1980. [4] [5]
HASP eludió la mayoría de los servicios del sistema operativo con un código especialmente diseñado para lograr eficiencia. HASP funcionó como una tarea única del sistema operativo [1] y utilizó la multitarea cooperativa internamente para ejecutar procesadores que realizaran tareas como ejecutar lectores de tarjetas, impresoras y perforadoras, administrar los archivos de cola , comunicarse con el operador del sistema y manejar múltiples líneas de comunicación para la entrada remota de trabajos.
Hasp fue escrito completamente en ensamblador System/360 y un sistema HASP típico podría requerir 86 KB de memoria, que podría ser memoria virtual en sistemas OS/VS. [6]
Gran parte de lo que se convertiría en el JECL de JES2 era parte de HASP.
En un principio, HASP admitía terminales por lotes de transmisión y recepción síncronas (STR) de IBM; sin embargo, HASP II dejó de admitir STR y solo admitió el protocolo de comunicaciones síncronas binarias (BSC). HASP II admitía terminales IBM como 2770 , 2780 , 3770 , 3780 , pero además brindaba soporte para comunicación multi-leaving [7] con estaciones de trabajo inteligentes como IBM 1130 , IBM System/3 y System/360 Model 20. Multi-leaving es "una transmisión bidireccional, pseudo-simultánea y totalmente síncrona de una cantidad variable de flujos de datos entre dos o más computadoras que utilizan facilidades de comunicación binaria-síncrona". [1] : p.1–8
Los proveedores externos desarrollaron una variedad de simuladores 2770/2780/3780 e implementaciones de múltiples salidas para usar con HASP y ASP. Algunos de estos proveedores se referían incorrectamente a sus productos como emuladores HASP , pero los productos eran en realidad terminales que se comunicaban con HASP; no realizaban ninguna de las funciones de HASP.
El operador de la consola RJE podía introducir un conjunto restringido de comandos de operador de consola HASP. Estos comandos HASP fueron los precursores del lenguaje de control de entrada de trabajos de JES2 ( JES2 JECL ).
Los operandos estaban restringidos a aquellos de este sitio remoto, por lo tanto, DJ1-999 (abajo) solo mostraba típicamente unos pocos, aquellos aún pendientes del sitio remoto del operador.
Algunos de los comandos de la consola HASP RJE, que se pueden ingresar en formato corto (una sola letra) o escritos con todas sus letras son:
La línea de comando "C rm1.rdr" tenía como objetivo cancelar en lugar de enviar la baraja de cartas que se estaba leyendo. Esto podría haber sido útil si un atasco de cartas hiciera que fuera más sensato dejar que otros trabajos siguieran adelante mientras se reemplazaban una o más cartas en una máquina perforadora cercana.
La salida del registro de trabajo HASP proporcionó un resumen de los recursos utilizados para el trabajo (la salida apareció en mayúsculas):