The term "job" has a traditional meaning as "piece of work", from
Middle English "jobbe of work", and is used as such in manufacturing, in the phrase "
job production", meaning "custom production", where it is contrasted with
batch production (many items at once, one step at a time) and
flow production (many items at once, all steps at the same time, by item). Note that these distinctions have become blurred in computing, where the oxymoronic term "
batch job" is found, and used either for a one-off job or for a round of "
batch processing" (same processing step applied to many items at once, originally
punch cards). In this sense of "job", a programmable computer performs "jobs", as each one can be different from the last. The term "job" is also common in
operations research, predating its use in computing, in such uses as
job shop scheduling (see, for example and references thereof from throughout the 1950s, including several "
System Research Department Reports" from IBM Research Center). This analogy is applied to computer systems, where the
system resources are analogous to machines in a
job shop, and the goal of scheduling is to minimize the total time from beginning to end (
makespan). The term "job" for computing work dates to the mid 1950s, as in this use from 1955: '''' The term continued in occasional use, such as for the
IBM 709 (1958), and in wider use by early 1960s, such as for the
IBM 7090, with widespread use from the
Job Control Language of
OS/360 (announced 1964). A standard early use of "job" is for compiling a program from source code, as this is a one-off task. The compiled program can then be run on batches of data. ==See also==