Драйвер устройства - программный объект, предназначенная для взаимодействия пользовательских программ и ОС с этим устройством. Код драйвера содержит небезопасные инструкции ввода/вывода(см. Ядро и модули), потому может исполняться только в режиме ядра. В операционной системе Linux драйверы существуют в виде модулей ядра.
Часто, однако, драйвером называют совокупность драйвера уровня ядра и пользовательских программ, поставляемых с драйвером и работающих вместе. Пример - драйвер принтера и средства управления печатью.
Написанием драйверов обычно занимаются сами производители оборудования. Такие драйверы поставляются, например, на компакт-дисках вместе с устройством. Однако, есть класс простых устройсв, для которых в операционной системе существуют заранее подготовленные драйвера. Так, при использовании USB - flash карт памяти в первый раз в большинстве случаев не требуется явной установки с внешних носителей информации, хотя для взаимодействия с картой памяти драйвер необходим.
Дополнительно - только для пользователей Linux.
Можно провести эксперимент. 1. Ввести lsmod|grep usb 2. Вставить USB flash-память 3. Снова ввести lsmod|grep usb
Срвнивая вывод в первом и втором случаях можно увидеть, какие модули ядра операционной системе потребовалось загрузить для работы с flash-памятью.