Prior to OS/360, even the most dedicated programmers found I/O programming to be a painful process repetitive, inconsistent and error-prone. OS/360 supplied data and telecommunications access methods that simplified the task.which sounds a lot like the access methods were a very early example of providing a programmer-friendly abstraction to hardware. That puts it at 1964.
Even fairly early computers were configurable. So, you'd order from IBM (or whoever) with a set of options and equipment, and they'd come install it all, and give you a copy of the operating system source code. You'd compile the kernel with the appropriate modules enabled, and away you'd go. (Roughly.)
Many modern unix and mainframe operating systems can still be compiled in this way, with all the device driver modules compiled directly into the kernel. Even OSes where the drivers aren't compiled in still link them in at boot time (Windows). And some OSes allow for hot-loaded drivers for some stuff (USB devices), but not others (graphics cards).
So, I don't know when the term "driver" became popular in software, but I reckon we've had device drivers in a recognizable-by-programmers form for as long as there have been operating systems and optional peripherals/hardware for computers. And a "driver circuit" is an old concept, and hackers shamelessly steal hardware terms, so it wouldn't surprise me if "driver" as a software term is nearly as old.
Now, if you mean specifically drivers that can be loaded at any time during the operation of the computer (not just boot time), then the credit may actually go to linux if a little research is to be believed. I'm not certain I believe them, but there are claims that linux pioneered the idea of the runtime loadable module. And it is certainly plausible, although one of the other PC OSes may take the real prize: BeOS or NeXTStep or something.
posted by Netzapper at 7:25 PM on June 14, 2011 [4 favorites]