is the name given to software that enables one or more hardware devices to communicate with the computer's operating system.
software used to allow the operating system to communicate with hardware
provide specific interfaces between the os running a computer and hardware devices.