A first-in first-out data structure used to sequence multiple demands for a resource such as a printer, processor or communications channel. Objects are added to the tail of the queue and taken off the head.
A typical use of queues in an operating system involves a user command which places something on a queue, e.g. a file on a printer queue or a job on a job queue, and a background process or "demon" which takes things off and processes them (e.g. prints or executes them). Another common use is to pass data between an interrupt handler and a user process.