Queue Driven Device Driver Algorithm
Original Publication Date: 1986-Sep-01
Included in the Prior Art Database: 2005-Mar-09
A method is described to maximize throughput to hardware devices by queueing multiple commands to the device and by overlapping the start of processing of a command with the completion of processing of the previous command. To achieve the maximum performance, or throughput, from hardware devices, it is necessary for software to feed commands to the device as fast as they can be accepted. If significant software overhead occurs between commands, performance is degraded. For some devices, performance degrades dramatically if the delay between commands exceeds a specific time interval. For example, when a disk adapter is reading consecutive sectors from a track, it needs to be notified (via software command) of the location of the memory buffer into which each sector is to be read.