КЛАССИФИКАЦИЯ ДРАЙВЕР УСТРОЙСТВА
Конференция: CLXX Студенческая международная научно-практическая конференция «Молодежный научный форум»
Секция: Технические науки
CLXX Студенческая международная научно-практическая конференция «Молодежный научный форум»
КЛАССИФИКАЦИЯ ДРАЙВЕР УСТРОЙСТВА
DEVICE DRIVER CLASSIFICATION
Madina Gazdieva
Student, Ingush State University, Russia, Magas
Asya Daurbekova
Academic Supervisor, Senior Lecturer Ingush State University, Russia, Magas
Аннотация. В данной статье рассматривается классификация драйвер устройства. А также рассматриваются особенности драйвера.
Abstract. This article discusses the classification of a device driver. It also discusses the features of the driver.
Ключевые слова: драйвер, классификация драйверов, типы драйверов.
Keywords: driver, driver classification, driver types.
Написание драйверов достаточно сложное, но, тем не менее, очень интересное и актуальное направление программирования. Знание специфики технологии написания драйверов открывает огромное количество возможностей - написание драйверов для устройств, которые уже не поддерживаются производителем, для устройств, драйвера для которых еще не написаны, исправление ошибок в драйверах, написание драйверов для различных промышленных устройств , и т.д.
Каждая операционная система имеет свои особенности, отсюда и специфика написания драйверов для них. То же самое можно сказать и о различных типах оборудования.
Классификация драйверов может основываться на их различных признаках.
По операционной системе их можно разделить на
- Драйверы виртуальных устройств (Virtual Device Drivers, VDD), используется для эмуляции 16-битных программ MS DOS. Драйверы VDD перехватывают вызовы портов ввода-вывода от таких программ и преобразовывают их в вызовы функций ввода-вывода WIN32, которые передаются фактическим драйверам устройств, которые работают с оборудованием.
- унаследованные драйверы, которые написаны для NT и работают без изменений в W-2000. Эти драйверы не поддерживают управление питанием и/или не взаимодействуют с диспетчером PnP;
- драйверы W-2000, интегрированные с диспетчерами PnP и электропитания.
По типу устройств можно выделить
- драйверы видеоадаптеров, перевод аппаратно-независимых запросов графических операций в аппаратно-зависимые. Когда приложение вызывает функцию Win32 с независимым от устройства запросом на вывод графики, вызывается драйвер видеоадаптера. Этот драйвер может выполнять операции рисования либо путем записи данных непосредственно в видеопамять, либо путем обращения к графическому ускорителю. Для особо критичных по времени операций драйвер видеоадаптера может напрямую обращаться к оборудованию. Для полной поддержки видеоадаптера также требуется так называемый драйвер минипорта видео. Обратите внимание, что термин «драйвер порта» — это некоторая библиотека функций режима ядра для поддержки ввода-вывода, типичного для определенного типа порта. Драйвер порта не является драйвером. Драйвер минипорта — это настоящий драйвер устройства, он импортирует функции, предоставляемые драйвером порта, и генерирует запросы для определенного типа адаптера. Драйвер минипорта видеоадаптера отвечает за установку режима работы адаптера, частоты обновления, позиционирования курсора, загрузки таблицы цветов, управляет операциями, связанными с другими компонентами ядра ОС, такими как управление памятью, используемой видеоадаптером, физической отображение регистров видеоадаптера в определенную область памяти, доступную драйверу видеоадаптера; прямая адресация портов ввода-вывода. Драйвер минипорта видео должен быть специфичен для конкретного видеооборудования;
- драйверы файловой системы, прием запросов ввода-вывода и выдача более конкретных запросов к драйверам дисковых устройств или сетевым драйверам;
- драйверы мультимедиа, для аудиоустройств - чтение, воспроизведение и сжатие аудиоданных, для видеоустройств - захват и сжатие видеоданных.
Из приведенной классификации видно, что поддержка отдельного устройства часто распределяется между несколькими драйверами, каждый из которых обеспечивает часть функций, необходимых для нормальной работы устройства. Принцип, согласно которому аспекты управления конкретным устройством совместно используются несколькими драйверами, реализован в спецификации МОДЕЛИ ДРАЙВЕРА WINDOWS (WDM). Спецификация WDM реализована в W-2000, W-98, W-ME и требует, чтобы драйверы поддерживали управление питанием, Plug and Play. С точки зрения WDM существует три типа драйверов:
1) драйвер шины (bus driver), обслуживающий контроллер шины, адаптер или другое оборудование, имеющее дочерние устройства. У каждого типа автобуса есть свой водитель. Драйвер шины отвечает за распознавание устройств, подключенных к управляемой им шине, уведомление диспетчера PnP о том, что устройства подключены к шине и отключаются, а также за управление параметрами питания шины.
2) функциональный драйвер. Служит для управления определенным типом устройства. Обязателен для устройства, за исключением случаев, когда ввод-вывод обрабатывается драйвером шины. Функциональный драйвер имеет самую полную информацию о своем устройстве, и обычно только этот драйвер имеет доступ к регистрам устройства.
3) драйвер фильтра. Занимает более высокий логический уровень, чем функциональный драйвер. Служит для коррекции поведения устройства или драйвера, может изменять запросы ввода-вывода и ответы на них от других драйверов. Например, драйвер фильтра клавиатуры может перехватывать ввод с клавиатуры без изменения соответствующей функциональности.