Take the 2-minute tour ×
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It's 100% free, no registration required.

According to Wikipedia:

… a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device.

What is the origin of the term driver as used in the above reference? I’ve googled around a bit but haven’t been able to find an answer.

share|improve this question

3 Answers 3

up vote 15 down vote accepted

Device drivers as we know them (i.e. code that's loaded into the kernel to control a device) have probably been around since UNIX and VMS in the mid-1970s.

Operating systems have always had to control devices (tape drives, paper tape and punch card readers), so device drivers in terms of software for controlling devices have probably been around at about as long as there have been operating systems.

A driver (or driver circuit), an electronic circuit used to control another circuit or component, is an old concept. Since hackers tend to "borrow" hardware terms, I would guess that the term for software drivers or device drivers came from there.

share|improve this answer
2  
Probably derived off of the "to direct the motions and course of (a draft animal)" meaning of "to drive". Just like how a ploughsman drives the ox, the circuit drives the other components. Similarly, the same is done with hardware and software drivers. –  Sean Duggan Jan 27 '12 at 21:38

The term device driver originated in the late 1960’s as one of several terms invented to mean a software routine which drives – that is, operates, controls, or impels – a hardware device. In other words, the device performs tasks when and as instructed by the software.

We can see that the term was new from its absence in the technical literature before that time, and from the invention and use of several different terms having the same meaning right around that time.

For example, at the same time that driver appears in the literature, the term device routine also appears, as in this 1969 issue of the AFIPS conference proceedings: “The display device routine services the light pen and keyboard I/O interrupts and schedules the display control program on the timer queue for immediate execution on a predetermined priority interrupt level.”

In 1972, one of the early uses of driver in print defines the term in context: “Associated with each device attached to a station is a device software driver in the SCU. This is a specialized routine which actually drives the devices through the SBU hardware interfaces.” (AFIPS conference proceedings, Volume 41, Part 1)

Before that, in 1970, the book Timesharing System Design Concepts by Richard W. Watson used the term “device driver” twice without defining it, and also used the term “channel-driving routines”.

In 1969, the computer journal Datamation refers to “driving routines for the tape handlers and peripherals”. That same year, we read: “A variety of data acquisition and control functions are implemented through a series of input/output device driving routines written in assembly language” in both Oil and Gas Journal and Instrumentation technology: the journal of the Instrument Society of America, Volume 16, apparently in the advertising. Also, in Annales de l’Association internationale pour le Calcul analogique, Volumes 11-12 we see “a self-scaling display-driving subroutine (for scope or plotting board)”.

In 1968, Hewlett-Packard’s advertising in the journal Computer Design, Volume 7 and others made the statement: “If you change your hardware set-up — say to handle more input/output devices — you don't have to re-program. You just enter the modular software driver for each unit.”

In 1967 (apparently, but I cannot positively confirm that this date is correct), the computer journal Acta informatica: Volumes 7–8 has this: “A hardware monitor, or simple routine in the paging device driver, would report a current estimate of the paging device throughput 7i(»); from Equation (15) .the desired value of T^n) is 1/2S.”

I cannot credit a particular person for inventing the term device driver or software driver; that information may have been lost.

The oldest actual software identifying itself as a driver that I can locate online is Counter Data Source Interface Driver by Steven A. Stark of Hewlett-Packard, 20 January 1970.

share|improve this answer
2  
Nice research. +1 –  Gnawme Jan 28 '12 at 0:58
    
@MetaEd: Your research is good, but i don't agree that the origin of this term is from 1960s. The question is asked about the origin of "driver" is science, not "device driver" in science. Try searching for 'data device driver' on google.com/patents and you will find drivers (hardware though, but not like screw driver :P) from around 1950 (or maybe before). Cheers!! –  Fr0zenFyr May 9 '12 at 5:53

"Mary was the driver of the car." Mary was controlling the car.

"Jack was the main driver behind this new product." Jack was the one who ran it or got it started or kept it going.

"Program xyz.drv is the driver for the video display." This program controls the display.

The usage is consistent with how the word is used in general English.

As to why whoever first choose to use the word used "driver" rather than "operator" or "manipulator" or any of the dozens of other potential words, well, you'd need an historical analysis, and I can't find that in a quick search either.

share|improve this answer
    
As for the function of drivers, yes, this is an obvious explanation. However, I was looking for an historical reference where this was first used. I've found a link (answers.google.com/answers/threadview/id/548246.html) where one user claims to have found an example dating back to 1978, but doesn't mention where. –  laginimaineb Jan 27 '12 at 21:24
    
Here are a couple of instances from 1969 - in one of which the word "driver" is quotated, suggesting it was considered quite a "daring" new usage at the time. But it's not really an operator/manipulator - more of a guide/marshaller making sure the software-level call for something to be done is validated/repackaged into the correct form for the device to recognise and comply with the instructions. –  FumbleFingers Jan 27 '12 at 21:26
    
@FumbleFingers - that's actually a really nice reference, and dating quite a while back. Thanks! Has anyone got an even older one? –  laginimaineb Jan 27 '12 at 21:34
    
@laginimaineb: Google Books shows there's another from 1968, but I can't view the context. Besides, I particularly liked that the citation I actually linked had one instance in quotes. Bear in mind we're going back so far by then that the real-world referent had only just come into existence - in anything earlier, the software and the hardware were invariably designed and implemented as an integral whole - so "driver-layer" software wouldn't really have meant anything, except to really forward-looking software engineers (and they really were engineers, not coders, back then! :) –  FumbleFingers Jan 27 '12 at 21:48
    
I guess you're right, the term must have originated around that time when operating systems became gradually more modular and less hardware dependent. Anyway, I would like to accept your answer, if only you'd post it as one ;) –  laginimaineb Jan 27 '12 at 21:57

protected by RegDwigнt Apr 30 '12 at 13:10

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.