What is a job in an operating system?
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.