Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Job Control Language
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Motivation== Originally, mainframe systems were oriented toward [[batch processing]]. Many batch jobs require setup, with specific requirements for [[main storage]], and dedicated devices such as [[magnetic tape]]s, private disk volumes, and printers set up with special forms.<ref>McQuillen, ''System/360β370 Assembler Language'', pp. 22β24.</ref> JCL was developed as a means of ensuring that all required resources are available before a job is scheduled to run. For example, many systems, such as [[Linux]] allow identification of required datasets to be specified on the [[Command-line interface|command line]], and therefore subject to substitution by the [[Shell (computing)|shell]], or generated by the program at run-time. On these systems the [[operating system]] [[job scheduler]] has little or no idea of the requirements of the job. In contrast, JCL explicitly specifies all required datasets and devices. The scheduler can pre-allocate the resources prior to releasing the job to run. This helps to avoid "[[Deadlock (computer science)|deadlock]]", where job A holds resource R1 and requests resource R2, while concurrently running job B holds resource R2 and requests R1. In such cases the only solution is for the [[computer operator]] to terminate one of the jobs, which then needs to be restarted. With job control, if job A is scheduled to run, job B will not be started until job A completes or releases the required resources.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)