Um controlador de dispositivo (device driver) é software de baixo nível, específico de hardware, que traduz entre o SO e um dispositivo periférico (impressora, GPU, placa de som, modem, etc.). Funções principais:
- Inicialização: Prepara hardware no boot para requisições futuras.
- Tratamento de Interrupção: Responde a interrupções do dispositivo, informa SO.
- Transferência de Dados: Gerencia movimento de dados entre dispositivo e memória.
- Detecção e Recuperação de Erros: Identifica/corrige erros do dispositivo.
- Configuração e Monitoramento: Permite config do usuário; reporta status ao SO.
- Gerenciamento de Energia: Controla estados sleep/idle para economizar energia.
- Identificação de Dispositivo: Detecta e identifica hardware conectado.
- Gerenciamento de Transferência de Dados: Otimiza eficiência do fluxo de dados.
- Tratamento de Erros: Gerencia erros durante transferências/operação.
- Segurança: Protege dispositivo de acesso não autorizado/ameaças.
Sem drivers, o SO não consegue comunicar ou controlar periféricos.