Drivers are pieces of software which are loaded into the Kernel, the highly privileged part of the operating system which controls the running of all fundamental processes – memory management, hardware interfacing, process scheduling etc.
Generally speaking a driver provides an interface to some piece of hardware, though this isn’t always the case.
In the case of your printer it’s job is to interface with the printer and maybe talk to it in some specific way the printer manufacturer designed (but the core Kernel doesn’t know how to do, as theres too many proprietary bits of hardware out there). It will also interface with the OS to let it know a particular piece of hardware is available – in this case letting everyone know a Printer is available for use.
It’s final job is to allow any configuration from “userland” (the non-privileged part of the OS, distinct from the Kernel – it’s where all of your programs run, Excel, Browsers etc.) to the driver. For instance maybe allowing your driver configuration tool to specify a paper size etc.
The above is all true for Graphics drivers too. They control the graphics card hardware and provide an interface to do things like pass texture data etc.
Latest Answers