Content deleted Content added
m Disambiguating links to Deadlock (link changed to Deadlock (computer science)) using DisamAssist. |
removed extra whitespaces and a rotted link, replaced with new external link, added a hyperlink, rephrased a bit |
||
Line 3:
In [[computing]], '''job control''' refers to the control of multiple tasks or [[Job (computing)|jobs]] on a [[Computer|computer system]], ensuring that they each have access to adequate resources to perform correctly, that competition for limited resources does not cause a [[Deadlock (computer science)|deadlock]] where two or more jobs are unable to complete, resolving such situations where they do occur, and terminating jobs that, for any reason, are not performing as expected.
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]].
Line 25:
Although a computer operator may be present, batch processing is intended to mostly operate without human intervention. Therefore, many details must be included in the submitted instructions:
* which programs to run;
* which files and/or devices to use for input
*
==Job control languages==
===Batch===
Early computer [[resident monitor]]s and [[operating system]]s were relatively primitive and were not capable of sophisticated resource allocation. Typically such allocation decisions were made by the computer operator or the user who submitted a job. [[Batch processing]] was common, and interactive computer systems rare and expensive. Job control languages
====BANG and other non-IBM
Non-IBM mainframe [[batch processing|batch]] systems had some form of job control language, whether called that or not; their syntax was completely different from IBM versions, but they usually provided similar capabilities.
The Non-IBM JCL of what at one time was known as ''the BUNCH'' (Burroughs, Univac/Unisys, NCR, Control Data, Honeywell), except for [[Unisys]], are part of the BANG<ref>what Xerox Data Systems and its SDS purchase called its ''exclamation mark'' {{cite web |title=Operating systems list |url=https://sites.google.com/site/thanhphong37vn/interview-questions-guide/operating-system/operating-systems-list}}</ref><ref>the SLASH SLASH of its JCL, called ''SLANT SLANT'' by some. The remainder of this footnote is a reminder, dedicated to the first person from whom I heard SLANT SLANT, the late senior computer operator and retired Military Officer who taught many people-oriented lessons. Let this be added to his citations.</ref> that has been quieted.
===Interactive===
As time sharing systems developed, interactive job control emerged. An end-user in a time sharing system could submit a job interactively from his remote [[computer terminal|terminal]] ([[remote job entry]]), communicate with the operators to warn them of special requirements, and query the system as to its progress. He could assign a priority to the job, and terminate (kill) it if desired. He could also, naturally, run a job in the foreground, where he would be able to communicate directly with the executing program. During interactive execution he could interrupt the job and let it continue in the background or kill it. This development of [[interactive computing]] in a multitasking environment led to the development of the modern [[shell (computing)|shell]].
===
The ability to not have to specify part or all of the information about a file or device to be used by a given program is called ''device independence''.
==Real-time computing==
Line 62 ⟶ 59:
== External links ==
* [https://www.gnu.org/software/
== See also ==
|