A camada de software de SO independente de dispositivo, por sua vez, tem ligação direta com a camada de drivers de dispositivo.
Na prática, é como se cada dispositivo anexado ao computador precisasse de uma parcela específica de código para que pudesse ser utilizado, como não há como reescrever o código do SO a cada novo elemento de E/S instalado, o código é fornecido através de componentes de software que são agregados ao SO – os drivers de dispositivo.
Além de abstrair a complexidade do hardware, os drivers de dispositivo têm uma série de outras funções. As principais tarefas associadas a estes componentes de software são: