Какие программы называются драйверами

Обновлено: 02.07.2024

Драйверы устройств: почему они важны и как с ними работать

Тим Фишер имеет более чем 30-летний опыт работы в сфере технологий. Он пишет о технологиях более двух десятилетий и является вице-президентом и генеральным директором Lifewire.

В этой статье

Перейти к разделу

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

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

Карты и драйверы

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

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

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

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

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

Драйверы устройств и совместимость

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

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

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

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

Параметры обновления драйвера диспетчера устройств

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

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

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

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

Общие задачи водителя

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

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

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

Когда драйвер устройства необходим или не нужен

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

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

Когда обновлять драйверы

Часто возникает вопрос, следует ли обновлять все доступные драйверы.Например, если ваш компьютер, веб-сайт производителя оборудования или средство обновления драйверов сообщает вам, что существует 10 обновлений драйверов, совместимых с вашей системой, следует ли вам получать их все или только некоторые? Имеет ли значение, какие из них вы устанавливаете?

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

  • Если оборудование не работает.
  • Если вам нужны новые функции.

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

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

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

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

Различные типы драйверов устройств

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

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

Файлы .SYS

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

Файлы драйвера SYS в Windows 11

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

Драйверы виртуальных устройств

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

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

Чтобы обновить драйверы устройств в Windows 11 вручную, откройте Диспетчер устройств на панели управления или в меню "Пуск" Windows. Затем щелкните правой кнопкой мыши устройство для обновления> выберите «Обновить драйвер»> «Автоматический поиск драйверов». Если вам нужно переустановить драйвер, щелкните устройство правой кнопкой мыши > Удалить устройство > перезагрузите компьютер.

Если ваш iPhone не подключается к ПК с Windows, может помочь обновление программного драйвера. Сначала разблокируйте телефон, а затем подключите устройство к компьютеру с помощью USB-кабеля. Запустите Диспетчер устройств > Портативные устройства > щелкните правой кнопкой мыши iPhone > Обновить драйвер. После обновления драйвера отключите и снова подключите телефон.

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

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


< /p>

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

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

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

Существует два основных типа драйверов: драйверы устройств и программные драйверы.


< /p>

Драйверы устройств

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

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

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

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

Для различных устройств требуются драйверы. Ниже приведены некоторые из наиболее распространенных:


< /p>

Драйверы программного обеспечения

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

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

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

Что делают водители?

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

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


< /p>

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

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

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

Зачем вам нужны драйверы?

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

Почему важно обновлять драйверы?

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


< /p>

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

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

Как узнать, нужно ли обновить драйвер?

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

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


< /p>

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

Обновлено и поддерживается

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

Эмма Коллинз — писатель-фрилансер из Хорватии. В качестве технического писателя она пишет статьи о Windows, Android, Mac, iOS, социальных сетях, играх и многом другом уже более четырех лет. Прежде чем стать писателем, Эмма работала учителем английского языка и послом культуры на Хоккайдо, Япония. В настоящее время Эмма и ее муж руководят агентством цифрового маркетинга, параллельно работая фрилансером. Прочитать полную биографию Эммы

Понравился ли вам этот совет? Если это так, загляните на наш собственный канал на YouTube, где мы рассказываем о Windows, Mac, программном обеспечении и приложениях, а также предлагаем множество советов по устранению неполадок и видео с практическими рекомендациями. Нажмите кнопку ниже, чтобы подписаться!

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

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

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

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

Драйвера для каких устройств могут не требоваться

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

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

Что произойдет, если драйвер не установлен?

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

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

Может ли драйвер заставить мой компьютер работать больше?

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

Являются ли компьютерные драйверы бесплатными?

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

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

Надежны ли компьютерные драйверы?

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

Что, если я скачаю не тот драйвер?

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

Драйвер устройства Newton подключен к клавиатуре

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

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

Цель

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

Например, высокоуровневое приложение для взаимодействия с последовательным портом может просто иметь две функции для "отправки данных" и "получения данных". На более низком уровне драйвер устройства, реализующий эти функции, будет связываться с конкретным контроллером последовательного порта, установленным на компьютере пользователя. Команды, необходимые для управления UART 16550, сильно отличаются от команд, необходимых для управления преобразователем последовательного порта FTDI, но каждый аппаратно-зависимый драйвер устройства абстрагирует эти детали в один и тот же (или аналогичный) программный интерфейс.

Разработка

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

Таким образом, задача написания драйверов обычно ложится на инженеров-программистов или инженеров-компьютерщиков, которые работают в компаниях, занимающихся разработкой аппаратного обеспечения. Это потому, что у них есть лучшая информация, чем у большинства посторонних, о конструкции их оборудования.Более того, традиционно считалось, что в интересах производителя оборудования гарантировать, что его клиенты смогут использовать свое оборудование оптимальным образом. Как правило, драйвер логического устройства (LDD) пишется поставщиком операционной системы, а драйвер физического устройства (PDD) реализуется поставщиком устройства. Но в последние годы сторонние производители написали множество драйверов устройств, в основном для использования с бесплатными операционными системами с открытым исходным кодом. В таких случаях важно, чтобы производитель оборудования предоставил информацию о том, как устройство обменивается данными. Хотя эту информацию можно получить путем обратного проектирования, с аппаратным обеспечением это сделать гораздо сложнее, чем с программным.

Microsoft попыталась уменьшить нестабильность системы из-за плохо написанных драйверов устройств, создав новую платформу для разработки драйверов под названием Windows Driver Foundation (WDF). Это включает в себя структуру драйверов пользовательского режима (UMDF), которая поощряет разработку определенных типов драйверов — в первую очередь тех, которые реализуют протокол на основе сообщений для связи со своими устройствами — в качестве драйверов пользовательского режима. Если такие драйверы работают со сбоями, они не вызывают нестабильности системы. Модель Kernel-Mode Driver Framework (KMDF) по-прежнему позволяет разрабатывать драйверы устройств в режиме ядра, но пытается обеспечить стандартные реализации функций, которые, как известно, вызывают проблемы, включая отмену операций ввода-вывода, управление питанием и поддержка устройств воспроизведения.

У Apple есть платформа с открытым исходным кодом для разработки драйверов для Mac OS X, которая называется I/O Kit.

В средах Linux программисты могут создавать драйверы устройств как части ядра, отдельно как загружаемые модули или как драйверы пользовательского режима (для определенных типов устройств, где существуют интерфейсы ядра, например для USB-устройств). Makedev включает в себя список устройств в Linux: ttyS (терминал), lp (параллельный порт), hd (диск), цикл, звук (включая микшер, секвенсор, DSP и аудио)…

Файлы .sys для Microsoft Windows и модули .ko для Linux содержат загружаемые драйверы устройств. Преимущество загружаемых драйверов устройств заключается в том, что их можно загружать только при необходимости, а затем выгружать, что экономит память ядра.

Режим ядра и пользовательский режим

Изображение архитектуры драйвера устройства: вверху приложение; под ним пользовательский драйвер; под ним драйвер устройства.

Драйверы устройств, особенно на современных платформах Microsoft Windows, могут работать в режиме ядра (кольцо 0 на процессорах x86) или в пользовательском режиме (кольцо 3 на процессорах x86). Основным преимуществом запуска драйвера в пользовательском режиме является повышенная стабильность, поскольку плохо написанный драйвер устройства пользовательского режима не может привести к сбою системы из-за перезаписи памяти ядра. С другой стороны, переходы между пользовательским режимом и режимом ядра обычно приводят к значительным потерям производительности, тем самым запрещая драйверы пользовательского режима из-за низкой задержки и высоких требований к пропускной способности.

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

Приложения

Из-за разнообразия современного оборудования и операционных систем драйверы работают в самых разных средах. Драйверы могут взаимодействовать с:

  • принтеры
  • видеоадаптеры
  • Сетевые карты
  • Звуковые карты
  • Локальные шины различных типов — в частности, для управления шинами в современных системах.
  • Различные шины ввода-вывода с низкой пропускной способностью (для указывающих устройств, таких как мыши, клавиатуры, USB и т. д.)
  • Компьютерные запоминающие устройства, такие как жесткий диск, CD-ROM и шины гибких дисков (ATA, SATA, SCSI)
  • Реализация поддержки различных файловых систем
  • Сканеры изображений
  • Цифровые камеры

Общие уровни абстракции для драйверов устройств включают:

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

Драйверы виртуальных устройств

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

Виртуальные устройства также могут работать в невиртуализированной среде. Например, виртуальный сетевой адаптер используется с виртуальной частной сетью, а виртуальный диск — с iSCSI. Хорошим примером драйверов виртуальных устройств могут быть Daemon Tools.

Существует несколько вариантов драйверов виртуальных устройств, таких как VxD, VLM, VDD.

Открыть драйверы

  • Принтеры: CUPS
  • RAID: CCISS (командный интерфейс Compaq для поддержки SCSI-3)
  • Сканеры: SANE
  • Видео: Vidix, инфраструктура прямого рендеринга

Описания часто используемых драйверов устройств для Solaris

  • fas: быстрый/широкий контроллер SCSI
  • hme: быстрый (10/100 Мбит/с) Ethernet
  • isp: дифференциальные контроллеры SCSI и карта SunSwift
  • glm: (модуль связи Gigabaud) контроллеры UltraSCSI
  • scsi: устройства с последовательным интерфейсом малых компьютеров (SCSI).
  • sf: soc+ или социальная арбитражная петля Fibre Channel (FCAL)
  • soc: контроллеры SPARC Storage Array (SSA) и управляющее устройство
  • социальные сети: последовательные оптические контроллеры для FCAL (soc+)
  • Модель драйвера дисплея Windows (WDDM) — архитектура драйвера графического дисплея для Windows Vista, Windows 7 и Windows 8.
  • Фонд драйверов Windows (WDF)
  • Модель драйвера Windows (WDM)
  • Спецификация интерфейса сетевого драйвера (NDIS) — стандартный API драйвера сетевой карты.
  • Advanced Linux Sound Architecture (ALSA) — стандартный интерфейс звукового драйвера Linux с 2009 года.
  • Scanner Access Now Easy (SANE) — общедоступный интерфейс для аппаратного обеспечения сканера растровых изображений
  • I/O Kit — платформа Apple с открытым исходным кодом для разработки драйверов устройств Mac OS X.
  • Installable File System (IFS) — API файловой системы для IBM OS/2 и Microsoft Windows NT
  • Open Data-Link Interface (ODI) — API сетевой карты, аналогичный NDIS
  • Унифицированный интерфейс драйверов (UDI) — проект межплатформенного интерфейса драйверов
  • Dynax Driver Framework (dxd) — кроссплатформенная платформа драйверов C++ с открытым исходным кодом для KMDF и IOKit

Идентификаторы

Устройство на шине PCI или USB идентифицируется двумя идентификаторами, каждый из которых состоит из 4 шестнадцатеричных чисел. Идентификатор поставщика идентифицирует поставщика устройства. Идентификатор устройства идентифицирует конкретное устройство этого производителя/поставщика.

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

Читайте также: