Em alguns sistemas operacionais, os drivers são comumente classificados em duas diferentes categorias a depender do tipo de dispositivo.
• drivers associados aos dispositivos de caractere
• drivers associados aos dispositivos de bloco
A inclusão de novos drivers de dispositivo, a depender do Sistema Operacional, pode requerer a recompilação do código do SO, já que muitas vezes este componente de software é executado em modo kernel do processador. Além disso, em alguns sistemas operacionais, como o Windows e o Linux, existe uma configuração conhecida como “plug-and-play”, onde os drivers de dispositivo ficam em estado de hibernação e são executados apenas sob demanda, quando o dispositivo de E/S específico é detectado pelo SO.
A última camada de software do subsistema de E/S é a de gerenciamento de interrupções, que, como o próprio nome já diz, tem como principal tarefa o controle das interrupções do SO. Este é o mais baixo nível dentre as Camadas de Software de Entrada e Saída existentes, ou seja, é a camada mais próxima dos dispositivos de E/S.
O gerenciamento de interrupções é fundamental para incrementar o desempenho do SO, pois a maior parte das operações de E/S se utiliza de interrupções em sua gerência. Isto se dá porque a diferença de velocidade entre os elementos de E/S e o processador torna premente a utilização de interrupções como forma de evitar a indesejável espera da CPU pela finalização das operações de Entrada e Saída.