Что такое драйвер устройства?

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

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

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

Та же общая идея относится к видеокартам, клавиатурам, мониторам, мышам, дисководам и т. Д.

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

Как именно работают драйверы устройств?

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

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

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

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

Как управлять драйверами устройств

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

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

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

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

Вот некоторые распространенные задачи в Windows, связанные с драйверами:

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

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

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

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

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

Подробнее о драйверах устройств

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

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

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

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

Windows использует файлы .SYS в качестве загружаемых драйверов устройств, то есть их можно загружать по мере необходимости, чтобы они не всегда занимали память — другие драйверы имеют формат DLL или EXE. То же самое верно для модулей Linux .KO.

Снимок экрана нескольких файлов драйвера SYS в Windows 8
Файлы SYS в Windows 8.

WHQL — это процесс тестирования Microsoft, который помогает доказать, что определенный драйвер устройства будет работать с определенной версией Windows. Вы можете увидеть, что загружаемый вами драйвер сертифицирован или не сертифицирован WHQL. Вы можете прочитать больше о Windows Hardware Quality Labs здесь.

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

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

Ссылка на основную публикацию