Різниця між драйверами порту та драйверами пристроїв?


0

Мені прийшло в голову, що я насправді не розумію різницю між рідними драйверами портів (тобто власними послідовними / паралельними / USB / тощо. Драйверами для кожної ОС) проти зовнішніх драйверів пристроїв.

Наприклад, якщо в моїй ОС вже є драйвер USB (для спілкування з USB-пристроями через USB-інтерфейс / порт), то чому моя блискуча нова веб-камера (або принтер) поставляється із власним драйвером пристрою?

Це те, що "драйвери порту / інтерфейсу" займаються налаштуванням електричних з'єднань із зовнішніми / периферійними пристроями, і що драйвери пристроїв використовують ці драйвери, щоб давати певні команди вводу / виводу пристроям? Тож можливо щось на кшталт:

введіть тут опис зображення

Чи я тут правильний, чи від базу? Іншими словами, у вищезазначеному сценарії чи справді використовуються два драйвери (один для пристрою та один для USB-порту)?

  • Якщо так, то який розподіл праці між двома водіями?
  • Інакше, то чому більшість ОС мають вбудовані драйвери портів (послідовний, USB тощо), і чому такі речі, як клавіатура, миші, веб-камери, принтери тощо, мають власні драйвери пристроїв?

Відповіді:


1

Ви не далека від бази, але теж не зовсім коректна. Кожен USB-пристрій рекламує себе як член певного заздалегідь визначеного класу пристроїв - HID, COM, Mass Storage, веб-камера тощо. Як такі, ці пристрої вказують ОС, що вони відповідають певній чітко визначеній функціональності. ОС буде завантажувати загальний драйвер цього класу, і ви повинні очікувати базової функціональності від цього пристрою.

Однак багато виробників пристроїв хочуть відрізнятись від інших і включати деякі розширені функціональні можливості, наприклад, автофокусування, спеціальні кнопки або додаткові формати тощо. У цьому випадку виробник надасть власний драйвер, який відповідає VID / PID. Якщо цей драйвер встановлений, ОС буде завантажувати його щоразу, тож у вас з'явиться новий блискучий функціонал від вашого нового пристрою. Спосіб реалізації нестандартного драйвера може відрізнятися. Це може бути повністю користувальницький драйвер, або це може бути якась модифікація драйвера за замовчуванням, використовуючи метод, відомий як "драйвер фільтру" у світі Microsoft, щось на зразок вашого зображення. Як реалізовані спеціальні драйвери для Android / Linux, краще запитайте людей на відповідних форумах.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.