In
system software
System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android and Microsoft Windows, computational science software, game engines, search engin ...
, a job queue ( batch queue, input queue), is a data structure maintained by
job scheduler
A job scheduler is a computer application for controlling unattended background program execution of job (computing), jobs. This is commonly called batch scheduling, as execution of non-interactive jobs is often called batch processing, though tr ...
software containing jobs to run.
Users submit their programs that they want executed, "jobs", to the queue for
batch processing
Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
.
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
In computer science, runtime, run time, or execution time is the final phase of a computer programs life cycle, in which the code is being executed on the computer's central processing unit (CPU) as machine code. In other words, "runtime" is t ...
* 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.
See also
*
Command pattern
In object-oriented programming, the command pattern is a behavioral design pattern in which an object is used to encapsulate all information needed to perform an action or trigger an event at a later time. This information includes the method name ...
*
Command queue
In computer science, a command queue is a queue for enabling the delay of command execution, either in order of priority, on a first-in first-out basis, or in any order that serves the current purpose. Instead of waiting for each command to be ...
*
Job scheduler
A job scheduler is a computer application for controlling unattended background program execution of job (computing), jobs. This is commonly called batch scheduling, as execution of non-interactive jobs is often called batch processing, though tr ...
*
Priority queue
*
Task queue
In computing, scheduling is the action of assigning ''resources'' to perform ''tasks''. The ''resources'' may be processors, network links or expansion cards. The ''tasks'' may be threads, processes or data flows.
The scheduling activity is c ...
Job scheduling
{{Reflist