Programación de dispositivos en modo usuario

El objetivo de este trabajo de carácter individual 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 segundo caso y PIO en el primero. 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.