Os drivers são muito semelhantes a qualquer outro programa, podem ser compostos por vários arquivos de origem. Os drivers de dispositivos Linux podem ser compilados diretamente no kernel ou em um módulo do kernel. Os módulos do kernel têm o benefício de poder ser carregado dinamicamente (ou seja, você não precisa compilar um novo kernel para usá-los).
Obviamente, você sempre pode olhar para o código-fonte do Linux, mas isso pode ser uma tarefa assustadora a princípio. No entanto, como em qualquer coisa nos drivers do Linux, existem arquivos. Isso significa que outros programas os acessam via interface VFS. Por exemplo, você pode controlar o CDROM por meio de ioctl()
chamadas usando seu arquivo de dispositivo.
Eu recomendo verificar os drivers de dispositivo Linux . Está disponível gratuitamente e responderá às suas perguntas. Em particular, você pode ler o capítulo 2, que mostra como criar um módulo simples "Olá, Kernel". Pode ser muito mais do que você está pedindo, mas você pode ler os trechos que lhe interessam. E é grátis. ; P