¿Cuándo usar kernelspace y cuándo usar userspace?

0

Supongamos que tengo un dispositivo integrado como un rapsberry pi y necesitaría comunicarme con un módulo por ejemplo. i2c. ¿Cuándo sería una buena opción tratar de comunicarse con el módulo escribiendo el código de kernelspace? Sé que hay bibliotecas disponibles que le permiten comunicarse con el módulo a través de i2c escribiendo el código del espacio de usuario. ¿Cuándo preferiría optar por la última solución?

    

2 respuestas

6

Espacio de usuario siempre que sea posible, kernelspace donde sea necesario.

¿Cuándo podría ser necesario usar kernelspace? Cuando hay requisitos de latencia o la arquitectura del controlador existente es inadecuada.

¿Por qué se prefiere usar el espacio de usuario? Es mucho más fácil de depurar, más seguro si se bloquea, más portátil a otros sistemas y más fácil de instalar.

    
respondido por el pjc50
0

Utilice el código de espacio de usuario siempre que sea posible. Es mucho más sencillo de depurar y más portátil.

Las razones principales para implementar un controlador en el kernelspace son que su controlador necesita interrupciones, lo que puede ser cierto, por ejemplo, para los controladores táctiles I²C, o su controlador debería encajar en un subsistema del kernel existente. De nuevo, los controladores táctiles I²C vienen a la mente, pero también sensores de hardware que deben ser evaluados por el código del kernel.

    
respondido por el Janka

Lea otras preguntas en las etiquetas