Index to Papers about MDQS

The full source and documentation is available via anonymous FTP at

The Multiple Device Queueing System

Douglas P. Kingston III
Michael John Muuss

Published in The Proceedings of the 1982 Summer USENIX Conference, Boston.


The Multiple Device Queueing System (MDQS) is designed to provide UNIX with a full function, modular, and consistent queueing system. The MDQS system has been designed with portability, expandability, robustness, and data integrity as key goals. MDQS is designed around a central queue which is managed by a single privileged daemon. Requests, delayed or immediate, are queued by non-privileged programs. Once queued, requests can be listed, modified or deleted. When the requested device or job stream becomes available, the daemon executes an appropriate server process to handle the request. Once activated, the request can still be canceled or restarted if needed. MDQS can serve as a delayed- execution/batch subsystem and replaces internally the functions of lpr(I) and at(I) as a minimum. MDQS provides the system manager with a number of tools for managing the queueing system. Queues can be created, modified, or deleted without the loss of requests. MDQS recognizes and supports both multiple devices per queue and multiple queues per device by mapping input for a logical device to an appropriate physical output device. Anticipating the inevitable, MDQS also provides for crash recovery.

A Tour Through the Multi-Device Queueing System

Douglas P. Kingston III

Revised for MDQS 2.12: 23 February 1989


The Multi-Device Queueing System is a full- feature queueing system that has been developed for the UNIX(R) operating system. This document is an in-depth description of the implementation of the MDQS system and is meant to serve as a guide for those who will be maintaining MDQS. It will also be of use to those interested in queueing system implementations. A theoretical overview is given, followed by a description of the configuration of the system both at compile time and at run time. Lastly, a module-by-module description is given of the system with comments relating to design choices, portability and efficiency considerations, areas scheduled to be modified, and possible problem areas.

A nice review of MDQS and several dozen other queueing systems in the online edition of NHSE Review.

MDQS -- A Multiple Device Queueing System by Douglas P. Kingston III and Michael John Muuss.