Programación de dispositivos en modo usuario

El objetivo de este trabajo es que el alumno se familiarice con la programación de dispositivos en modo usuario.

En un sistema Linux, no siempre es necesario implementar la funcionalidad de un manejador como un módulo del núcleo. Si se trata de una funcionalidad que no requiere la gestión de interrupciones ni precisa un tratamiento muy rápido, se puede implementar como un proceso de usuario, lo que facilita considerablemente el desarrollo y puesta a punto del código.

Este trabajo plantea tres prácticas:

La dos primeras prácticas son ejemplos relativamente sencillos de la programación de dispositivos en modo usuario, usando MMIO en el primer caso y PIO en el segundo. La tercera práctica es, sin embargo, de más envergadura centrándose en la programación del bus PCI mediante PIO y es la parte principal de este trabajo práctico.