Job control is a feature of the kernel that helps processes orderly share a terminal. It prevents such quandaries as ``What happens when two processes try to read from the terminal at the same time?''.
Job control works by assigning related processes to a process group. For example, all of the processes in a pipeline belong to one process group. Terminal device drivers also belong to process groups, and when the process group of a job does not match that of its controlling terminal the job is said to be in the background. Background jobs have access to their controlling terminal restricted in certain ways.
Job control is accessed by software through the tcnewpgrp, tctpgrp, and settpgrp(2) system calls. See the jobcontrol(2) and ioctl(2) man pages.