<P> In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer . A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details of the hardware being used . </P> <P> A driver communicates with the device through the computer bus or communications subsystem to which the hardware connects . When a calling program invokes a routine in the driver, the driver issues commands to the device . Once the device sends data back to the driver, the driver may invoke routines in the original calling program . Drivers are hardware dependent and operating - system - specific . They usually provide the interrupt handling required for any necessary asynchronous time - dependent hardware interface . </P>

What performs communication between the physical device and the os