Primero debe definir qué es un controlador. Lo definiré como un programa o subrutina que controla un dispositivo (como su cámara) o un subsistema (como un sistema de archivos). Ya sea que lo haga directamente a través del programa del sistema o de los servidores del núcleo o los procesos de aterrizaje de usuarios, no debería ser el tema principal de esta pregunta esencialmente semántica.
En algunos casos, Linux solo proporciona un protocolo genérico escrito en software donde el "controlador" real es un árbol de dispositivos. Esa es una configuración de parámetros de hardware y qué software usar que componen un controlador.
En general, las interfaces y protocolos de controladores se implementan utilizando módulos del núcleo que se cargan según sea necesario, definidos por los árboles de dispositivos o las reglas de udev. Un módulo de kernel no es, en sentido estricto, un proceso o biblioteca.
Una biblioteca es solo un conjunto estático de código que se puede cargar en cualquier proceso dado. Los sistemas operativos modernos cargan estas bibliotecas en la memoria compartida. Un proceso puede vincularse a cualquier cantidad de bibliotecas compartidas.
Un proceso es un programa en ejecución en el que el programa o núcleo del sistema ha asignado recursos como la memoria del sistema y el tiempo de CPU. Los módulos del núcleo pueden o no seguir este patrón por sí mismos, pero independientemente no se consideran procesos de facto en Linux.
Entonces, para responder a su pregunta, un controlador no necesita ser procesado, pero puede serlo. Si bien el código puede existir en una biblioteca, el controlador todavía se carga en la memoria mediante un programa, ya sea el núcleo en forma de módulos de núcleo o procesos de usuario.
Se convierte más en un argumento semántico al considerar cuál es en realidad la totalidad de un controlador. Se podría decir que un controlador siempre es un programa, pero a veces no es como en el caso de los árboles de dispositivos, sino que también podría ser un proceso de usuario, un archivo de árbol de dispositivos, reglas de udev y un módulo de kernel donde el proceso y el módulo usan bibliotecas para componer La lógica de un conductor.