El lenguaje de control de trabajos es un lenguaje de procesamiento por lotes para su uso en mainframes de IBM, pero también se utiliza como un término general para los programas escritos para realizar funciones de control de trabajos. Como lenguaje de mainframe, es lo que se conoce como lenguaje de secuencias de comandos, donde las secuencias de comandos se escriben y guardan para la ejecución de diferentes funciones y se utilizan según sea necesario. Cada procedimiento se escribe como un paso y cada paso abre un programa para realizar ese paso. Como el mainframe está siendo utilizado por docenas de usuarios, se delinean los comentarios para la ejecución o facturación, se instruyen programas de utilidad para imprimir o fusionar documentos y, finalmente, hay una definición del trabajo en su conjunto. El conjunto final de instrucciones solicita que se asigne una prioridad en una cola para el uso del mainframe.
El lenguaje de control de trabajos hace uso de los llamados procedimientos catalogados, que son una serie de declaraciones catalogadas en una biblioteca de procedimientos e invocadas mediante el uso de un comando EXEC. Si se necesitan declaraciones adicionales, es posible modificar estos procedimientos catalogados. Los valores de operando en un conjunto de procedimientos existente se pueden cambiar y también es posible alterar los parámetros del procedimiento mediante el uso de instrucciones de anulación o modificaciones realizadas e insertadas en el orden correcto de ejecución.
Hay declaraciones guardadas independientes para la emisión de comandos de salida de impresora. Para los informes archivados de forma regular, los parámetros de estos informes se pueden nombrar, guardar y luego llamar a la ejecución de impresión siempre que se necesite otro del mismo tipo de informe. Estos comandos de salida de impresora incluso tienen que decirle a la impresora qué tipo de papel se utilizará para imprimir identificándolo mediante un código en el comando SYSOUT para las impresoras del mainframe. Todas las instrucciones de impresión que normalmente se encuentran presionando un botón en la impresora de una microcomputadora deben especificarse para salidas de impresión, como impresión dúplex completa o semidúplex, superposiciones de barras grises o sin superposiciones, estampado de fecha y hora o no, y la inclusión de cualquier formato digital. imágenes o logotipos.
El lenguaje de control de trabajos también utiliza programas de utilidad para mainframes de IBM. Estos programas de utilidad se utilizan según sea necesario para el procesamiento por lotes. Hay tres conjuntos principales de programas de utilidades de IBM: (1) utilidades del sistema, (2) métodos de servicio de acceso y (3) utilidades de conjuntos de datos. Las utilidades del sistema se utilizan para el mantenimiento y la gestión de todos los catálogos; los métodos del servicio de acceso procesan el conjunto de instrucciones del método de acceso al almacenamiento virtual, y las utilidades del conjunto de datos son responsables de la creación, impresión, copia, movimiento y eliminación de conjuntos de datos. Estos programas de utilidad se suministran con el sistema operativo de lenguaje de control de trabajos.
El sistema operativo del lenguaje de control de trabajos ha ofrecido una considerable independencia del dispositivo durante décadas. Al permitir que un dispositivo utilizado en un trabajo se llame con un nombre genérico, se fomentó esta independencia; sin embargo, utilizando su número de modelo, se podría especificar una impresora de matriz de puntos o una impresora de chorro de tinta en particular. Lo mismo se aplica al hacer copias de seguridad, cuando el uso genérico de UNIT = TAPE o UNIT = DISK haría copias de seguridad en el medio apropiado.