Diferença entre os drivers de porta nativos e os drivers de dispositivo?

0

Ocorreu-me que não compreendo realmente a diferença entre os controladores de portas nativas (ou seja, os controladores nativos de série / paralela / USB / etc. em cada SO) vs. os controladores de dispositivos externos específicos de hardware.

Por exemplo, se meu sistema operacional já tiver um driver USB (para comunicação com dispositivos USB pela porta / interface USB), por que minha nova webcam (ou impressora) vem com seu próprio driver de dispositivo?

É que os "drivers de porta / interface" lidam com a configuração das conexões elétricas com dispositivos externos / periféricos e com os drivers de dispositivo usam esses drivers para fornecer comandos específicos de I / O aos dispositivos ? Então talvez algo como:

Estou correto aqui ou fora da base? Em outras palavras, no cenário acima, existem dois drivers sendo usados (um para o dispositivo e outro para a porta USB)?

  • Se sim, então qual é a divisão de trabalho entre os dois drivers?
  • Senão, por que a maioria dos sistemas operacionais tem drivers de portas nativas (serial, USB etc.) e por que itens como teclado, mouses, webcams, impressoras, etc. possuem seus próprios drivers de dispositivo?
por smeeb 28.03.2017 / 13:20

1 resposta

1

Você não está fora da base, mas também não é totalmente correto. Todos os dispositivos USB anunciam-se como membros de determinados tipos de dispositivos pré-definidos - HID, COM, Armazenamento em massa, webcam, etc. Assim, esses dispositivos indicam ao SO que estão em conformidade com certas funcionalidades bem definidas. O sistema operacional carregará um driver genérico para essa classe e você deve esperar a funcionalidade básica desse dispositivo.

No entanto, muitos fabricantes de dispositivos querem diferenciar-se dos outros e incorporar algumas funcionalidades estendidas, como foco automático ou botões especiais, ou formatos extras, etc. Nesse caso, o fabricante forneceria seu próprio driver, que é VID / PID específico. Se este driver estiver instalado, o sistema operacional irá carregá-lo sempre, para que você tenha uma nova funcionalidade brilhante a partir do novo dispositivo. A maneira como o driver personalizado é implementado pode ser diferente. Poderia ser um driver completamente personalizado, ou poderia ser alguma modificação do driver padrão usando um método conhecido como "driver de filtro" no mundo da Microsoft, algo como na sua imagem. Como os drivers específicos do produto são implementados no Android / Linux, é melhor perguntar às pessoas nos fóruns correspondentes.

    
por 29.03.2017 / 05:54