Job control (computing): Difference between revisions

Content deleted Content added
It's about automation
Remove fluff
Line 4:
|all job control topics |Job control (disambiguation)}}
{{More citations needed|date=August 2017}}
In [[computing]], '''job control''' refers to the automated control of [[Job (computing)|job]] execution; ensuring that each job has access to adequate resources to perform correctly, that competition for limited resources does not cause a [[Deadlock (computer science)|deadlock]], resolving such situations where they do occur, and terminating jobs that, for any reason, are not performing as expected. Even with sophisticated automation, most systems, such as [[Job control (Unix)|Unix-like systems]], permit manual operations such as interrupting, pausing and resuming jobs and to execute them in the foreground (interactively) instead of the usual background (batch) mode for fully automated execution.
 
== History ==
Job control has developed from [[History of computing|the early days of computers]] where human [[Computer operator|operators]] were responsible for setting up, monitoring and controlling every job, to modern [[operating system]]s, which take on the bulk of the work of job control.
 
Even with a highly sophisticated scheduling system, some human intervention is desirable. Modern systems permit their users to stop and resume jobs, to execute them in the foreground (with the ability to interact with the user) or in the background. [[Job control (Unix)|Unix-like systems follow this pattern]].
 
== History ==
It became obvious to the early computer developers that their fast machines spent most of the time idle because the single program they were executing had to wait while a slow [[peripheral]] device completed an essential operation such as reading or writing data; in modern terms, programs were [[I/O-bound]], not [[compute-bound]]. [[Data buffer|Buffering]] only provided a partial solution; eventually an output buffer would occupy all available memory or an input buffer would be emptied by the program, and the system would be forced to wait for a relatively slow device to complete an operation.