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 executed before sending the next one, the program just puts all the commands in the queue and goes on doing other things while the queue is processed by the operating system.

This delegation not only frees the program from handling the queue but also allows a more optimized execution in some situations. For instance, when handling multiple requests from several users, a network server's hard drive can reorder all the requests in its queue using, for instance, the elevator algorithm to minimize the mechanical movement.

Examples

 * Native Command Queuing (NCQ) in Serial ATA (SATA)
 * Tagged Command Queuing (TCQ) in Parallel ATA and SCSI