Driver это набор служебных программ, позволяющих операционной системе работать с определенным устройством компьютера. Задача driver состоит в обработке запросов, поступающие от прикладных и системных программ, переводить их на язык, понятный физическому устройству, управлять процессами его инициализации, обмена данными, настройки параметров, переключением из одного состояния в другое. Driver позволяет операционной системе взаимодействовать с конкретным устройством через общий интерфейс, не учитывающий особенности данного устройства. Другими словами, driver транслирует запросы высокого уровня в запросы низкоуровневого машинного языка, непосредственно обращаясь к аппаратным ресурсам компьютера.
Не для каждого устройства требуется driver. Если существует строгий стандарт, описывающий набор команд, последовательность и временные параметры операций и другие особенности работы с данным классом устройств, драйвер может и не понадобиться, так как операционная система уже имеет в своем составе все необходимые для этого процедуры. В принципе, это можно назвать и встроенным драйвером. Например – клавиатура, таймер, внешний модем, коммуникационные порты,. Но если устройство может быть заменено на другое, отличное по своим функциональным возможностям, то driver для него нужно будет устанавливать обязательно.
Driver может содержаться и в дистрибутиве операционной системы. Тогда вопрос поиска драйвера отпадает сам по себе. Однако устройства, появившиеся после официального выхода ОС, потребуют установки отдельного драйвера, разработанного производителем. Кроме того, набор драйверов в комплекте с операционной системой невелик и охватывает только небольшую часть наиболее распространенных или полностью стандартных устройств например "plug and play".