Procesamiento por lotes


El procesamiento por lotes computarizado es la ejecución de "trabajos que pueden ejecutarse sin la interacción del usuario final, o pueden programarse para ejecutarse según lo permitan los recursos".

El término "procesamiento por lotes" se origina en la clasificación tradicional de los métodos de producción como producción por trabajo (producción única), producción por lotes (producción de un "lote" de varios artículos a la vez, una etapa a la vez) y producción continua . (producción en masa, todas las etapas en proceso a la vez).

Las primeras computadoras solo podían ejecutar un programa a la vez. Cada usuario tenía el control exclusivo de la máquina durante un período de tiempo programado. Llegaban a la computadora con el programa y los datos, a menudo en tarjetas de papel perforadas y cintas magnéticas o de papel, y cargaban su programa, lo ejecutaban y lo depuraban, y se llevaban su salida cuando terminaban.

A medida que las computadoras se volvieron más rápidas, el tiempo de instalación y desmontaje se convirtió en un porcentaje mayor del tiempo disponible de la computadora. Se desarrollaron programas llamados monitores , los precursores de los sistemas operativos , que podían procesar una serie o "lote" de programas, a menudo a partir de cintas magnéticas preparadas fuera de línea. El monitor se cargaría en la computadora y ejecutaría el primer trabajo del lote. Al final del trabajo, recuperaría el control, cargaría y ejecutaría el siguiente hasta que se completara el lote. A menudo, la salida del lote se escribiría en cinta magnética y se imprimiría o perforaría fuera de línea. Ejemplos de monitores fueron Fortran Monitor System de IBM , SOS (Share Operating System) y, finalmente, IBSYS para IBM 709x.sistemas en 1960. [1] [2]

Las computadoras de tercera generación [3] con capacidad de multiprogramación comenzaron a aparecer en la década de 1960. En lugar de ejecutar un trabajo por lotes a la vez, estos sistemas pueden tener varios programas por lotes ejecutándose al mismo tiempo para mantener el sistema lo más ocupado posible. Uno o más programas pueden estar esperando entrada, uno ejecutándose activamente en la CPU y otros generando salida. En lugar de entrada y salida fuera de línea, los programas llamados spoolers leen trabajos de tarjetas, discos o terminales remotos y los colocan en una cola de trabajos para ejecutarlos. Para evitar interbloqueos , el planificador de trabajos necesita conocer los requisitos de recursos de cada trabajo: memoria, cintas magnéticas, discos montables., etc., por lo que se desarrollaron varios lenguajes de scripting para suministrar esta información de forma estructurada. Probablemente el más conocido es el lenguaje de control de trabajos (JCL) de IBM. Los programadores de trabajos seleccionan los trabajos para ejecutarlos de acuerdo con una variedad de criterios, incluidos la prioridad, el tamaño de la memoria, etc. El lote remoto es un procedimiento para enviar trabajos por lotes desde terminales remotos, a menudo equipados con un lector de tarjetas perforadas y una impresora de línea . [4] A veces , el multiprocesamiento asimétrico se usa para poner en cola la entrada y salida por lotes de una o más computadoras grandes usando un sistema adjunto más pequeño y menos costoso, como en el IBM System/360 Attached Support Processor .

Desde finales de la década de 1960 en adelante, la computación interactiva , como a través de interfaces de terminal de computadora basadas en texto (como en los shells de Unix o bucles de lectura-evaluación-impresión ), y las interfaces gráficas de usuario posteriores se volvieron comunes. El cómputo no interactivo, tanto los trabajos únicos como la compilación y el procesamiento de varios elementos en lotes, se denominó retrospectivamente procesamiento por lotes , y el término trabajo por lotes (en un uso temprano, a menudo "lote de trabajos") se volvió común. El uso temprano se encuentra particularmente en la Universidad de Michigan , alrededor del Sistema Terminal de Michigan (MTS). [5]


Archivo por lotes CDC NOS para obtener el archivo STARTRK y enviarlo a la tarjeta perforada