In a non-interactive computer system, particularly IBM mainframes, a job stream, jobstream, or simply job is the sequence of job control language statements (JCL) and data (called instream data) that comprise a single "unit of work for an operating system".[1] The term job traditionally means a one-off piece of work, and is contrasted with a batch (executing the same steps over many inputs), but non-interactive computation has come to be called "batch processing", and thus a unit of batch processing is often called a job, or by the oxymoronic term batch job; see job for details. Performing a job consists of executing one or more programs. Each program execution, called a job step, jobstep, or step, is usually related in some way to the others in the job. Steps in a job are executed sequentially, possibly depending on the results of previous steps, particularly in batch processing.
The term "job stream" is particularly associated with mainframes; in the IBM z/OS operating system, a job is initiated by a // JOB
and terminated by the next // JOB
or //
statement. Each job step consists of one // EXEC
statement indicating the program to be executed and usually multiple // DD
statements defining the files and devices to be used.