is the name given to software that enables one or more hardware devices to communicate with the computer's operating system.
a piece of software that tells the operating system how to communicate with a device e.g. keyboard.
allow the computer to communicate with various different hardware devices