What is a job in an operating system?

In certain computer operating systems, a job is the unit of work that a computer operator -- or a program called a job scheduler -- gives to the OS.

For example, a job could be the running of an application program, such as a weekly payroll program.

How jobs work

A job is usually said to be run in batch -- rather than interactive -- mode. The operator or job scheduler gives the OS a batch of jobs to do -- payroll, cost analysis, employee file updating and so forth -- and these are performed in the background when time-sensitive interactive work is not being done. In IBM mainframe OSes -- MVS, OS/390 and successors -- a job is described with Job Control Language (JCL).

Jobs are broken down into job steps. An example of a job step might be to make sure that a particular data set or database needed in the job is made accessible.

Typically, the development programmer who writes a program that is intended to be run as a batch job also writes JCL that describes for the OS how to run the job -- for example, what data sets or databases it uses. The use of a job scheduler usually provides greater flexibility and the ability to monitor and report batch job operations.

A similar term is task, a concept usually applied to interactive work. A multitasking OS serving one or more interactive users can at the same time perform batch jobs in the background.

This was last updated in August 2023

Continue Reading About job

Dig Deeper on Data center hardware and strategy

Cloud Computing
and ESG