Драйвер

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску
У этого термина существуют и другие значения, см.Драйвер (значения).
Операционная система
Схема изображает взаимодействие ОС со всеми необходимыми компонентами.
Основные возможности

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

В общем случае драйвер не обязан взаимодействовать с аппаратными устройствами, он может их только имитировать (например, драйвер принтера, который записывает вывод из программ в файл), предоставлять программные сервисы, не связанные с управлением устройствами (например,/dev/zero вUnix, который только выдаёт нулевые байты), либо не делать ничего (например,/dev/null в Unix и NUL вDOS/Windows).

Содержание

Подход к построению драйверов

[править |править код]

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

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

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

Разработка драйвера для использования не по прямому назначению

[править |править код]

Поскольку вОСWindows драйвер не обязан взаимодействовать с каким-либо внешним устройством, широко применяется разработка "псевдодрайверов", которые значительно расширяют функциональность программы.

Например, большинство современных игровых анти-читов используют драйвер-модуль для более широкого "наблюдения" за всеми процессами, которые происходят в системе. Этот же метод используется разработчиками вредоносного ПО (читов) для обхода защиты.

Драйверы видеокарт

[править |править код]
Пазлинка и перо
Этопустой раздел, которыйещене написан.
Здесь может располагатьсяотдельный раздел. Помогите Википедии, написав его.(1 января 2019)

Интеграция драйверов

[править |править код]

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

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

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

Виртуальные драйверы

[править |править код]

Виртуальные драйверы устройств представляют собой особый вариант драйверов. Они используются для эмуляции аппаратного устройства, особенно в средах виртуализации, например, когда программа DOS запускается на компьютере с Microsoft Windows или когда гостевая операционная система работает нахостинге Xen.

См. также

[править |править код]

Примечания

[править |править код]
  1. Вариантдрайвера́ разговорный и профессиональный.Обсуждение наGramota.ru.Архивная копия от 8 ноября 2011 наWayback Machine

Ссылки

[править |править код]
ВВикисловаре есть статья «драйвер»
Перейти к шаблону «Аспекты операционных систем»
Типы
Ядро
Архитектура
Компоненты
Управление
процессами
Концепции
Алгоритмы
планирования
Управление и
адресацияпамяти
Средства загрузки
иинициализации
Прочее
Источник —https://ru.wikipedia.org/w/index.php?title=Драйвер&oldid=143435037
Категории:
Скрытые категории: