O que é um driver?
Um driver é um programa que permite a comunicação entre um sistema operacional (SO) e um componente de hardware ou aplicativo de software. Cada computador usa vários drivers para controlar os vários componentes de hardware e aplicativos instalados. Sem esses drivers, o hardware e o software não funcionariam corretamente e, em alguns casos, podem nem funcionar. Existem dois tipos principais de drivers: drivers de dispositivo e drivers de software.
Drivers de dispositivo
Como o próprio nome sugere, os drivers de dispositivo são projetados para se comunicar entre um sistema operacional e um dispositivo. Essas unidades são normalmente criadas pela mesma empresa que fabricou o dispositivo. No entanto, quando são criados por terceiros, são projetados de acordo com um padrão de hardware publicado.
Nem todos os drivers de dispositivo se comunicam diretamente com o próprio dispositivo. Em alguns casos, existem vários drivers em camadas em uma pilha que permitem a comunicação. Os drivers em cada extremidade se comunicarão diretamente com o próprio dispositivo ou com o sistema operacional. O driver de função se comunica diretamente com o dispositivo. Os drivers intermediários manipulam a comunicação em diferentes formatos que podem ser compreendidos pela máquina. Eles são chamados de drivers de filtro.
Dispositivos comuns para motoristas
A grande maioria dos dispositivos e softwares que se conectam a uma máquina requer um driver para funcionar. Aqui estão alguns dos dispositivos mais comuns que requerem drivers:
- Dispositivos de armazenamento - HDD e SSD
- Impressoras
- Placas de som
- Adaptadores de vídeo
- Câmeras digitais
Drivers de software
Ao contrário dos drivers de dispositivo, os drivers de software não estão associados a dispositivos de hardware. Esses programas permitem a comunicação entre o sistema operacional e os aplicativos de software. O principal objetivo por trás dos drivers de software é habilitar ou desabilitar o acesso a dados protegidos que só estão disponíveis para programas no modo kernel. Como resultado, os drivers de software quase sempre são executados no modo kernel.
Modo kernel vs. modo de usuário
Os drivers de dispositivo e software podem ser executados no modo kernel ou no modo de usuário. O modo de usuário é a opção de uso geral e é usado para realizar a maioria das comunicações. Ele também tem a vantagem de oferecer melhor estabilidade do que o modo kernel.
Conforme declarado anteriormente, o modo kernel é usado principalmente pelos principais componentes do sistema operacional para acessar dados protegidos. Os drivers no modo kernel são implementados como componentes modulares discretos com funcionalidades bem definidas. Também é preferível para aplicativos de rede de baixa latência.
Drivers de dispositivo virtual
Os drivers de dispositivos virtuais são tecnologias relativamente novas. Eles usam tecnologia de virtualização para emular um dispositivo de hardware em ambientes virtualizados em redes híbridas ou em nuvem. Eles dão aos sistemas operacionais convidados a ilusão de acessar o hardware.