Драйвер

Драйвер (driver) – это программа, относящаяся к широкому классу вспомогательных средств общего программного обеспечения, которые расширяют возможности операционной системы и предназначены для управления устройствами ввода-вывода ЭВМ (например, клавиатурой, манипуляторами, принтерами, накопителями), оперативной памятью и др., а также для подключения к ЭВМ новых внешних устройств или реализации нестандартного использования уже имеющихся средств. В операционной системе DOS для работы с драйверами предусмотрен системный файл config.sys, в который записываются имена загружаемых драйверов и режим настройки системы.

С помощью драйверов, другая программа (обычно операционная система) получает доступ к аппаратному обеспечению стандартным образом. В общем случае для использования каждого устройства, подключённого к компьютеру, необходим специальный драйвер. Обычно с операционными системами поставляются драйверы для ключевых компонентов аппаратного обеспечения, без которых система не сможет работать. Однако для более специфических устройств (таких, как графическая плата или принтер) могут потребоваться специальные драйверы, обычно предоставляемые производителем устройства.

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

  • загрузка драйвера (драйвер регистрируется в системе, производит первичную инициализацию и т. п.);
  • выгрузка (драйвер освобождает захваченные ресурсы — память, файлы, устройства и т. п.);
  • открытие драйвера ( это начало основной работы. Обычно драйвер открывается программой как файл, функциями CreateFile в Win32 или fopen в UNIX-образных системах);
  • чтение;
  • запись (программа читает или записывает данные из/в устройство, обслуживаемое драйвером);
  • закрытие;
  • IOCTL (зачастую драйвер поддерживает интерфейс ввода-вывода, специфичный для данного устройства. С помощью этого интерфейса программа может послать специальную команду, которую поддерживает данное устройство. Например, для SCSI устройств можно послать команду GET_INQUERY, чтобы получить описание устройства. В Win32 системах управление осуществляется через API-фунцию DeviceIoControl. В UNIX-подобных — ioctl).
  • Менеджер
    Сафронова Екатерина
    Ведущий специалист
    +7 (495) 147-08-07
    Консультация специалиста
    Наш менеджер перезвонит вам в течение 5 минут
    Менеджер
    Хорошова Анастасия
    Эксперт
    +7 (495) 147-08-07
    Оставить заявку
    Наш специалист свяжется с вами в течение 5 минут
    Оставить отзыв
    Ваш отзыв опубликуется после модерации