Letra A está errada pois o driver não se comunica diretamente com a CPU e sim com o Sistema Operacional, este através de comandos genéricos faz a comunicação com o driver, que traduz esses comandos em comandos específicos do dispositivo, ou seja, o driver é uma camada de abstração entre o S.O e o dispositivo.
Letra C está errada pois um programa rodando no núcleo está no modo kernel e não no modo usuário.
Letra D está errada pois um driver pode executar também no modo núcleo e não apenas no modo usuário.
Letra E está errada pois o programa não faz a chamada ao driver e sim ao SO, e esse se encarrega de chamar o driver.
Letra B é a resposta certa. Um driver contém detalhes de baixo nível do dispositivo que não precisam ser expostos ao S.O, visto que ele precisa de operações genéricas, por exemplo, print pra imprimir em uma impressora. Já a interface do driver será mais complexa, pois ela precisará conhecer todos os detalhes pra imprimir uma página: quais cartuxos usar, a posição da cabeça de impressão, a velocidade, etc.