Job queue
{{Short description|Data structure maintained by job scheduler software containing jobs to run}}
{{For|job queue management software|Job scheduler}}
{{Redirect|Batch queue|the stochastic model|bulk queue}}{{More sources|date=March 2022}}
In system software, a job queue ({{aka}} batch queue, input queue), is a data structure maintained by job scheduler software containing jobs to run.{{Cite web |date=2018-08-14 |title=Job queues |url=https://www.ibm.com/docs/en/i/7.1?topic=concepts-job-queues |access-date=2022-03-19 |website=www.ibm.com |language=en-us}}
Users submit their programs that they want executed, "jobs", to the queue for batch processing.
The scheduler software maintains the queue as the pool of jobs available for it to run.
Multiple batch queues might be used by the scheduler to differentiate types of jobs
depending on parameters such as:
- job priority
- estimated execution time
- resource requirements
The use of a batch queue gives these benefits:
- sharing of computer resources among many users
- time-shifts job processing to when the computer is less busy
- avoids idling the compute resources without minute-by-minute human supervision
- allows around-the-clock high utilization of expensive computing resources
Any process that comes to the CPU should wait in a queue.