Skip to main content

O que é um driver de adaptador de rede?

Um driver de adaptador de rede é um software de baixo nível que controla um adaptador de rede. Cada driver de rede opera um ou mais adaptadores de rede em um sistema de computador. Ele foi projetado especificamente para um tipo específico de adaptador e um sistema operacional (SO) específico. Um driver do adaptador de rede opera na camada Media Access Control da rede; controla diretamente o circuito do adaptador de rede associado a ele. Em combinação com outras camadas de rede, um sistema de computador usa um driver de adaptador de rede para se comunicar com outros computadores em rede e a Internet.

Antes do final dos anos 90, os drivers do adaptador de rede geralmente realizavam grande parte do trabalho árduo das comunicações em rede. Alguns adaptadores de rede exigiam drivers para copiar todos os dados de pacotes entre os buffers de memória e os SO; os cabeçalhos de identificação eram frequentemente preenchidos pelos motoristas durante esse processo. Os drivers do adaptador frequentemente tinham que gerenciar casos especiais, como recepção de pacotes multicast e operação "modo promíscuo". Durante a configuração, um driver geralmente precisava identificar o tipo de barramento do computador e programar o adaptador de acordo. Para acompanhar a velocidade do link de rede, a maioria dos drivers do adaptador foram escritos em linguagem assembly altamente eficiente.

À medida que a velocidade máxima do link de rede aumentava, os drivers de rede e outras camadas de software do sistema operacional freqüentemente se tornavam gargalos. Para combater isso, os designers de sistemas operacionais moveram grande parte da funcionalidade do driver do adaptador de rede para dentro do sistema operacional; forte integração e otimização com as outras camadas da rede geralmente melhoram o desempenho. Os adaptadores de rede mais recentes podem construir e copiar todos os dados de pacotes via hardware, uma vez informados onde os buffers de dados do SO estão localizados. Ao mesmo tempo, uma melhor geração de código do compilador permitiu que os drivers do adaptador fossem escritos na linguagem C de programação geral para computadores, em vez da linguagem assembly. Como resultado dessas otimizações, os drivers do adaptador de rede tornaram-se muito mais simples de gravar e manter. Os drivers modernos ainda precisam implementar alguma configuração, gerenciamento de energia e suporte a multiprocessamento; o sistema operacional e o hardware do adaptador de rede agora executam a maior parte do trabalho com urgência.

Vários drivers de adaptador de rede podem estar em execução em um sistema ao mesmo tempo. A maioria dos computadores modernos inclui uma interface de adaptador de rede com fio embutida na placa-mãe; seu driver do adaptador de rede geralmente está incluído no sistema operacional. Laptops e outros computadores portáteis freqüentemente incluem também um adaptador e driver de rede sem fio. Muitos sistemas fornecem um meio de conectar placas de rede adicionais - os adaptadores Gigabit Ethernet ou Fibre Channel de alta velocidade são escolhas comuns. Seus drivers geralmente são incluídos nos adaptadores de rede quando adquiridos. A maioria dos fabricantes também publica as versões mais recentes de seus drivers na Internet; os usuários devem verificar e instalar periodicamente esses drivers atualizados para obter as últimas correções de bugs e aprimoramentos de desempenho.