Что такое драйвер и как он работает? Драйвера и их назначение.

Понять, что такое драйвер, попробуем на типовом примере взаимодействия прикладной программы с драйвером.

Код прикладной программы исполняется в пользовательском режиме работы процессора. В этом случае имеется ряд серьезных ограничений на доступ к памяти, аппаратному обеспечению и привилегированным инструкциям процессора. Когда возникает необходимость в преодолении этих ограничений, прикладная программа обращается к ядру ОС, код которого исполняется процессором в режиме ядра. Режим ядра лишен всех упомянутых ограничений. Для расширения функциональных возможностей ядра как раз и служат драйверы ядра (kernel mode drivers). Как они работают?

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

Под вызовом драйвера здесь подразумевается не обычный вызов функции, а передача так называемого запроса в/в. Более подробно см. лекцию 6.

Различают несколько классов драйверов:

Драйвер, получающий запросы в/в из прикладной программы, называют драйвером высшего уровня. Если такой драйвер не пользуется услугами других драйверов, он называется монолитным.

Драйвер, получающий запросы в/в от другого драйвера, называют промежуточным, если он пользуется услугами других драйверов, или драйвером низшего уровня, если услугами других драйверов он не пользуется.

Типы драйверов и характеристики

[Дополнительная информация] Ifs kit Help\Kernel-Mode Drivers\Design Guide\Part1 General Kernel Mode\Windows 2000 and WDM drivers\Kinds of driversили в DDK.

В NTсуществует 2 типа драйверов: драйверы пользовательского режима и драйверы режима ядра. В дальнейшем, говоря «драйвер», мы будем подразумевать драйверы режима ядра. Такие драйверы являются частью исполнительной системы, а более точно – элементами диспетчера в/в (архитектура NT и ее компоненты будут обсуждаться в лекции 2). Как следует из названия, при работе драйвера режима ядра процессор находится в режиме ядра (RING 0) – см. любой справочник по защищенному режиму работы процессора.

Драйвер NT располагается в файле с расширением.sys и имеет стандартный PE-формат (PE - Portable Executable).

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

Все драйверы режима ядра можно разбить на 3 типа:

    Драйверы высшего уровня (highest level drivers)

    Драйверы промежуточного уровня (intermediate drivers)

    Драйверы низшего уровня (lowest level drivers)

Как мы увидим в дальнейшем, такое разбиение обусловлено многоуровневой моделью драйверов (layered driver model). Для сохранения общности изложения, монолитный драйвер можно включить в эту схему, хотя он не использует многоуровневую архитектуру. В этом случае он будет «гибридом» – драйвером, принадлежащим одновременно к нескольким типам. Например, монолитный драйвер, имеющий интерфейс с приложением и осуществляющий доступ к оборудованию, будет одновременно и драйвером высшего, и драйвером низшего уровня.

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

    Драйверы файловой системы

    Сетевые драйверы

Отдельно необходимо упомянуть архитектуру WDM – Windows Driver Model. Эта архитектура позволяет создавать драйверы для Windows 98и Windows 2000, совместимые на уровне двоичного кода.

Можно привести следующие характеристики драйверов:

    Поддержка динамической загрузки и выгрузки (однако могут быть исключения)

    Необходимость следовать определенным протоколам взаимодействия с системой, нарушение которых чаще всего ведет к BSOD

    Возможность «наслоения» драйверов поверх друг друга. В Win2K эта возможность возведена в абсолют, хотя монолитные драйверы все еще поддерживаются

    Поскольку драйверы являются частью ядра ОС, они могут сделать с системой абсолютно все. Основная проблема – закрытость архитектуры ОС.

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

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

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

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

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

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

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

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

См. также

Примечания

Ссылки

  • Пишем драйверы OpenSolaris (рус.) - статья о драйверах в OpenSolaris

Wikimedia Foundation . 2010 .

Синонимы :
  • Олимпийцы (значения)
  • Кампенгаузен, Балтасар Балтасарович

Смотреть что такое "Драйвер" в других словарях:

    драйвер - программа, парус, шофер, программа драйвер, водитель Словарь русских синонимов. драйвер сущ., кол во синонимов: 8 аудиодрайвер (1) … Словарь синонимов

    ДРАЙВЕР - Вспомогательная компьютерная программа, которая обеспечивает действие какого то определенного комплектующего устройства (обычно даже какой то конкретной его модели и, естественно, фирмы производителя), подключенного к компьютеру, на котором она… … Словарь бизнес-терминов

    драйвер - Программа, предназначенная для управления работой периферийных устройств, обычно в мини и микро ЭВМ. [ГОСТ 19781 90] Тематики обеспеч. систем обраб. информ. программное EN driver … Справочник технического переводчика

    Драйвер - (англ. driver водитель, ведущий) компьютерная программа, помогающая операционной системе работать с к. л. устройством (напр., управлять устройствами ввода вывода, клавиатурой, принтером и т. д.) … Издательский словарь-справочник

    ДРАЙВЕР - в информатике вспомогательная (см.) персонального компьютера, обеспечивающая взаимодействие управляющих программ с внешними устройствами. Д. поставляются вместе с (см.) (для типичных, распространённых устройств клавиатура, мышь, дисководы) или… … Большая политехническая энциклопедия

    драйвер - дра/йвер, род. дра/йвера, мн. драйвери, род. мн. драйверів (англ. driver водій, ведучий) це комп ютерна програма, за допомогою якої операційна система отримує доступ до керування апаратним забезпеченням. Драйвер пристрою повинен розуміти всі… … Фізико-технічний словник-мінімум

К драйверам относятся микропрограммы, с помощью которых компьютер может общаться с устанавливаемыми на него устройствами, как внешними, так и внутренними, на которых работает пользователь. Для каждого устройства в компьютер устанавливается своя собственная утилита посредник.

Что касается произношения — правильно писать и говорить во множественном числе будет, как драйверы. Но на профессиональном сленге чаще всего произносят драйвера, с ударением на последнюю букву

Что такое драйвер

Драйвер устройства – это специализированное программное обеспечение, которое используется во всех версиях Windows. Благодаря ему другие программы и устройства, которые связаны с данным ПК могут с ним взаимодействовать. Они используются при работе любого оборудования, которое установлено на этом компьютере.

Например, если в операционной системе не установлен драйвер звука, то пользователь не сможет слушать музыку или будет смотреть фильмы без звука. Если же отсутствует утилита посредник видеокарты, то изображение не появится на экране. Игрушка не запуститься без необходимых утилит для работы с вашим ПК.

То есть компьютер изначально не понимает, как ему работать с внешним прибором, который установили в него. Для этого нужен своего рода переводчик или интерпретатор команд.

Какие функции выполняют программы посредников

Первой функцией такого интерпретатора, является регистрация в системе и инициализация. Затем проверяется статус оборудования. Они также могут регистрировать события, произошедшие в том устройстве, которому служит микропрограмма, обрабатывают запросы и ошибки, совмещают несовместимое оборудование.

Кроме этого микропрограммы выдают команды устройствам , ожидая, пока они будут выполнены. Когда вы задаете печать принтеру, микропрограмма посылает МФУ инструкцию, что нужно распечатать, какие страницы и т.д. То есть она полностью управляет внешним оборудованием.

Утилиты посредники могут обрабатывать запросы при незавершенных предыдущих запросах. Управлять энергопотреблением других приборов, подключенных к ПК.

Как работают драйвера на компьютере

Работа интерпретатора начинается с проверки входящих значений. Если будут обнаружены какие-то несовместимости ошибка высветится на экране, либо, если все нормально, то действие программы продолжится.

«Дрова» проверяют подключен ли этот прибор в настоящий момент. Если оборудование подключено, то микропрограмма переходит к управлению. Теперь нужно определить в какой последовательности дать команды оборудованию, и в какой последовательности оно должно их выполнить.

Происходит запись в регистр контроллера прибора, с которым происходит общение. После того как команда записана, делается анализ передачи. Если передача прошла без коллизий, то микропрограмма приступает к передаче следующей команды. И так до тех пор, пока все команды не будут переданы.

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

Таков принцип работы программ посредников на ПК.

Что будет, если драйвера нет

От таких подобных микропрограмм зависит качество, работа и производительность компьютера и подключенного к нему оборудования. Если случится так, что вы установили операционную систему Windows, а установку «дров» обошли стороной, то многие внешние устройства просто не будут работать на вашем персональном компьютере, либо будут работать, но с перебоями. Разберем на примере видеокарты или тачпада.

Например, если не установлен драйвер на видеокарту, то качество изображения будет очень низким. Запустить игры вы не сможете из-за его отсутствия. С тачпадом точно также. При отсутствии управляющей программы, не будет реализованы все возможности панели, а в частности управление жестами.

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

Для каких устройств нужны драйвера

Чаще всего подобные микропрограммы понадобятся для следующих приборов, подключенных к ПК:

  • Мышь, клавиатура.
  • Видеокарта, звуковая и сетевая карты, любые платы расширения.
  • Чипсеты.
  • Принтера и другие подключаемые внешние приборы.

Это не полный перечень. По сути, любое внутреннее и внешнее периферийное оборудование требует наличия управляющей микропрограммы.

Где их найти

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

Если же вы потеряли диск или он испортился, то подобное ПО всегда можно скачать из интернета . Для этого в Гугле или Яндексе пишете название модели устройства и дополняете словами «драйвер скачать». Перед вами откроется несколько страниц на которых лежат ссылки на нужные дрова.

Есть специальные пакеты, в которых находятся все дрова на любую операционную систему. Один из таких пакетов называется «Driver Pack online». Скачать ее можно с официального сайта, утилита достаточно объемная, порядка 12 ГБ. Но после переустановки Виндоус он вам очень сильно поможет. Перечень и обзор лучших приложений можно найти у нас на сайте.

Лучше всего производить скачивание с сайта производителя. Процент того, что вы поймаете вирус намного меньше в таком случае.

Где посмотреть информацию о драйверах

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

После чего откроется окно, в котором отобразится все оборудование, которое есть на вашем ПК и к которому он подключен. Под каждым пунктом – графа с установленной микропрограммой. Если же ее нет, то это устройство помечается желтым треугольником.

Прочитать информацию о микропрограмме можно нажав на устройство правой кнопкой и кликнув «Свойства ».

Таким образом вы получите всю необходимую информацию.

Где хранятся драйверы на компьютере

Все драйвера размещены в папке drivers. Зайти в нее можно кликнув по диску «С» и открываете папку Windows. В ней находите другую папку с названием «drivers» — именно тут можно найти управляющие утилиты.

Данная папка есть во всех версиях Windows.

Все кто работает за компьютером рано или поздно сталкиваются с таким понятием, как драйвер. Но далеко не все понимают, что это такое и почему обновление драйверов так необходимо для нормальной работы компьютера. Иногда достаточно только обновить тот или иной драйвер и ваш компьютер заработает как новенький. Что такое драйвер? Для чего он нужен? И где его взять?

Что такое драйвер компьютера и для чего он нужен

Драйвер это своего рода программа-посредник между операционной системой и компьютером. Любой компьютер состоит из основных устройств, таких как: материнская плата, микропроцессор, видеокарта, память, звуковая карта, жесткие диски, дисководы, мышь, клавиатура, монитор. К нему же могут подключатся и дополнительные устройства, такие как: принтер, сканер, графический планшет, джойстик, колонки, микрофон, веб-камера и др.

И чтобы все это работало, разработчики устройств пишут специальные программы, которые говорят операционной системе, как это устройство должно работать, и как им можно управлять. Для каждого устройства существует своя программа-драйвер.

Для разных операционных систем драйвера тоже разные. Например, устройство с драйвером для Windows 10 скорее всего не будет работать в операционной системе Windows 7. Поэтому прежде, чем устанавливать то или иное устройство, необходимо поинтересоваться, а есть ли у него драйвер для этой операционной системы.

Все драйвера можно найти на сайтах разработчиков оборудования. О том, как их обновлять я уже писала.

Всю информацию об устройствах вашего компьютера и установленных драйверах можно посмотреть в Диспетчере устройств . Попасть в этот диспетчер можно разными способами.

Как попасть в Диспетчер устройств

Через иконку «Компьютер » на рабочем столе.

Кликните правой кнопкой мыши по этой иконке и выберите в выпадающем контекстном меню пункт «Свойства ».

Или откройте меню «Пуск », найдите там «Компьютер », и кликните правой кнопкой мыши по этому пункту. Выберите в открывшемся списке пункт «Свойства ».

Можно еще открыть Панель управления и найти там блок «Система ».

Во всех трех вариантах у вас должно открыться окно «Система ». Слева найдите ссылку «Диспетчер устройств » и кликните по ней левой кнопкой мыши. У вас откроется окно «Диспетчер устройств ».

Здесь же можно открыть список всех устройств и просмотреть их свойства.

Для этого откройте список устройства, кликнув по нему два раза, а потом выделите его мышью и кликните по нему правой кнопкой мыши. В появившемся списке выберите необходимый пункт.

Подробнее об этом посмотрите в видеоролике ниже от Андрея Сухова.

А это видео, о том, как обновить или установить драйвер видеокарты: Надеюсь теперь вам понятно, что такое драйвер и для чего он необходим.

Драйвер устройства – небольшая программа, которая говорит и другим программам как обмениваться данными с аппаратным компонентом.

Например, драйверы принтера говорят операционной системе, а также и другим программам, у которых есть данные для принтера, в точности как печатать информацию на странице.

Драйверы звуковой карты нужны, чтобы ваша операционная система в точности знала, как передавать единицы и ноли, из которых состоит этот MP3 файл, чтобы звуковая карта выдала звуковой сигнал в ваши наушники или динамики.

Так же работают и видеокарты, клавиатуры, мониторы и т.п.

Как работают драйвера устройства?

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

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

Благодаря драйверам, большинству программ не нужно знать, как работать напрямую с аппаратным обеспечением, а драйверу не нужно знать весь опыт пользователей по работе с приложением.

Вместо этого программе и драйверу просто нужно знать, как общаться между собой.

И это очень удобно для всех, ведь на рынке присутствует практически бесконечное разнообразие программ и устройств. Если бы каждому требовалось знать, как общаться со всеми остальными – процесс разработки программ и устройств стал бы невозможным.

Как работать с драйверами устройств

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

Драйвера для каждого аппаратного компонента в вашем компьютере с операционной системой Windows централизованно управляются приложением Менеджер устройств , имеющемся во всех версиях Microsoft Windows.

Вот несколько типичных задач в Windows, в которых участвуют драйвера:

  • Как обновлять драйвера в Windows
  • Как найти номер версии драйвера в Windows
  • Как отменить обновление драйвера в Windows

Вот несколько дополнительных ресурсов, касающихся драйверов:

  • Бесплатные инструменты обновления драйверов
  • Драйвера Windows 10 (обновленный список)
  • Драйвера Windows 8 (обновленный список)
  • Драйвера Windows 7 (обновленный список)
  • Как найти и скачать драйвера с сайтов производителей
  • Популярный сайты для скачивания драйверов
  • Как определить, 32-битная или 64-битная версия Windows установлена

Многие проблемы, связанные с конкретным устройство, могут быть не проблемами с его аппаратной частью, а ошибками в работе драйвера устройства, установленного в системе. В этом случае вам помогут ресурсы, указанные выше.

Дополнительная информация о драйверах устройств

Кроме базовых взаимоотношений программа-драйвер-устройство есть и другие интересные ситуации, в которой участвую драйвера (и в которых нет).

Хотя сейчас это уже не настолько типично, некоторые программы могут напрямую связываться с некоторыми типами устройств – драйвера не требуются! Обычно это возможно только если программа передает устройству очень простые команды, либо когда и устройство, и программа разработаны одной компанией, но это можно рассматривать и как встроенный драйвер.

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: