Utility is a program that performs specific tasks and assists in better performance of the computer. Utilities are explicitly designed in order to control and tweak the computer hardware, operating system or application softwares. Utility programs can include file management (creating, moving and renaming folders, copying and deleting files), file search, comparing file contents, performing diagnostic routines for checking performance and current health of the hardware.
A device driver is a software program that allows higher-level computer programs to interact with a hardware device attached to a computer. A device driver bridges the gap of programming by acting as a translator between a device and the applications or operating systems using it. A driver usually converses with the device through the communications subsystem connected to the hardware. It then issues commands to the device when a calling program invokes the driver routine. Once the device sends data back to the driver, the driver may also invoke routines in the original calling program. Drivers are hardware-dependent and operating-system-specific.