Драйвер

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Операционные системы
Operating system placement.svg
Общие черты
п·о·р

Дра́йвер (англ. driver, мн. ч. дра́йверы[1]) — это компьютерная программа, с помощью которой другая программа (обычно операционная система) получает доступ к аппаратному обеспечению некоторого устройства. В общем случае, для использования любого устройства (как внешнего, так и внутреннего) необходим драйвер[2]. Обычно с операционными системами поставляются драйверы для ключевых компонентов аппаратного обеспечения, без которых система не сможет работать. Однако для некоторых устройств (таких, как видеокарта или принтер) могут потребоваться специальные драйверы, обычно предоставляемые производителем устройства.

Содержание

[править] Идеология построения драйверов

Операционная система управляет некоторым «виртуальным устройством», которое понимает стандартный набор команд. Драйвер переводит эти команды в команды, которые понимает непосредственно устройство. Эта идеология называется «абстрагирование от аппаратного обеспечения». Впервые в отечественной вычислительной технике подобный подход появился в серии ЕС ЭВМ, а такого рода управляющие программы назывались канальными программами.

Драйвер состоит из нескольких функций, которые обрабатывают определенные события операционной системы. Обычно это 7 основных событий:

  • загрузка драйвера. Тут драйвер регистрируется в системе, производит первичную инициализацию и т. п.;
  • выгрузка. Драйвер освобождает захваченные ресурсы — память, файлы, устройства и т. п.;
  • открытие драйвера. Начало основной работы. Обычно драйвер открывается программой как файл, функциями CreateFile() в Win32 или fopen() в UNIX-подобных системах;
  • чтение;
  • запись: программа читает или записывает данные из/в устройство, обслуживаемое драйвером;
  • закрытие: операция, обратная открытию, освобождает занятые при открытии ресурсы и уничтожает дескриптор файла;
  • управление вводом-выводом (англ. IO Control, IOCTL). Зачастую драйвер поддерживает интерфейс ввода-вывода, специфичный для данного устройства. С помощью этого интерфейса программа может послать специальную команду, которую поддерживает данное устройство. Например, для SCSI-устройств можно послать команду GET_INQUIRY, чтобы получить описание устройства. В Win32-системах управление осуществляется через API-функцию DeviceIoControl(). В UNIX-подобных — ioctl().

[править] Интеграция драйверов

По мере развития систем, сочетающих в себе на одной плате не только центральные элементы компьютера, но и большинство устройств компьютера в целом, возник вопрос удобства поддержки таких систем, получивших название «аппаратная платформа», или просто «платформа».

Сначала производители платформ поставляли набор отдельных драйверов для операционных систем, собранный на один носитель (обычно компакт-диск), Затем появились установочные пакеты, называвшиеся «4-in-1» и «One touch», и позволявшие упростить установку драйверов в систему. При этом как правило можно выбрать либо полностью автоматическую установку всех драйверов, либо выбрать вручную нужные. Однако единого, устоявшегося термина долго не было.

Современный термин, описывающий такие наборы драйверов устройств — Board Support Package, или «пакет поддержки платформы». Помимо собственно драйверов, он может, как и прочие установочные пакеты, содержать модули операционной системы и программы.

[править] См. также

[править] Примечания

  1. ГРАМОТА.РУ – справочно-информационный интернет-портал «Русский язык» | Справка
  2. Тут необходима оговорка. Драйвером может быть любая программа (не взаимодействующая с устройствами), созданная по правилам написания драйверов, которые задаются операционной системой. В частности, для операционной системы Windows достаточно что-бы программа имела точку входа DriverEntry и была собрана определенным образом. Она может не выполнять никаких действий и вернуть сразу STATUS_SUCCESS, но формально это будет драйвер

[править] Ссылки

Логотип Викисловаря
В Викисловаре есть статья «драйвер»
Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Участие
Печать/экспорт
Инструменты
На других языках