Драйвер (driver) представляет собой специализированный программный модуль, управляющий устройством. Слово driver происходит от глагола to drive (вести). Драйверы обеспечивают единый интерфейс для доступа к различным устройствам, тем самым устраняя зависимость пользовательских программ и ядра операционной системы (ОС) от особенностей аппаратуры. Драйвер не обязательно должен управлять каким-либо физическим устройством. Многие ОС предоставляют также драйверы виртуальных устройств или псевдоустройств — объектов, которые ведут себя аналогично устройству ввода-вывода, но не соответствуют никакому физическому устройству. Прикладные программы используют собственные драйверы. Еще одна важная функция драйвера — это взаимоисключение доступа к устройству в средах с вытесняющей многозадачностью. Допускать одновременный неконтролируемый доступ к устройству нескольких параллельно исполняющихся процессов просто нельзя. При определении интерфейса драйвера разработчики ОС должны найти правильный баланс между противоречивыми требованиями:
Драйверы обычно разрабатываются не поставщиками операционной системы, а сторонними фирмами-разработчиками и изготовителями периферийного оборудования. Идеальным вариантом была бы полная совместимость драйверов хотя бы снизу вверх, чтобы драйвер предыдущей версии ОС мог использоваться со всеми последующими версиями. |