Un controlador de dispositivo es una pieza de software que simplifica la interacción entre los programas de aplicación y un dispositivo de hardware conectado a la computadora. Un controlador de dispositivo es el hardware y el dispositivo específico . En algunos casos , la implementación de un controlador se puede separar en capas lógicas y físicas , permitiendo que una parte del código para ser compartido por una clase similar de dispositivo , tal como una impresora o un monitor . El sistema operativo (SO ) define mecanismos específicos que permiten a las aplicaciones para aprender de la disponibilidad y capacidades de un dispositivo de hardware, e integrar sus funciones en los comportamientos de los programas. Instrucciones
1
Estudie los manuales que describen los mecanismos previstos por el dispositivo de hardware para controlar sus funciones . Interacciones normalmente toman la forma de las señales que se asignan a los comandos que producen comportamientos compatibles.
2
Aprender los fundamentos de la escritura de un controlador de dispositivo para el sistema operativo de destino. Esto proporciona una idea general del proceso a seguir para que los servicios de hardware accesible. La estructura de controlador especifica los detalles del uso de excepciones para permitir a los conductores operan a nivel del kernel generalmente se limita al sistema operativo .
3
Escribe un conductor shell simple que proporciona los mecanismos básicos de conectar un controlador de dispositivo a una aplicación. La mayoría de los marcos proporcionan ejemplos y código tutorial que producirán una implementación sencilla que se puede utilizar como la base para su conductor . Esta cubierta debe proporcionar los mecanismos para iniciar correctamente y cerrar el controlador antes y después de invocaciones específicas.
4
Determinar la función de hardware más simple se puede implementar . Este ejercicio proporciona los fundamentos de la programación de una interacción, verificar que el hardware está correctamente conectado al ordenador y comunicarse. Es común a comenzar con una solicitud de una manera sencilla que activa un mecanismo de luz o de sonido para confirmar la transmisión exitosa del mensaje . Este proceso le enseña cómo iniciar , dirigir y cerca de una interacción con el dispositivo.
5
Tackle interacciones más avanzadas de uno en uno , basándose en los conocimientos adquiridos en las etapas anteriores. Algunos ejemplos son las operaciones que esperan una respuesta de datos para ser devueltos al conductor, de forma sincrónica o asincrónica. Estas interacciones pueden requerir la implementación de mecanismos que se recibe ejecución del bloque hasta una respuesta o entrar en un estado que permite la recepción de una respuesta y reacción en un momento posterior .
6
Implementar manipulaciones de datos para producir los resultados en la formar esperado por la aplicación de llamada . Algunos marcos de controladores permiten la separación de código en los niveles de kernel y de usuario. El nivel de usuario , donde operan las aplicaciones , es más restringida, pero menos capaces de dar lugar a inestabilidad del sistema . Si el sistema operativo es compatible con esta característica, estas manipulaciones son candidatos a ser implementadas a nivel de usuario si requieren sin excepción a nivel de kernel .
7
devolver los datos a la aplicación y cerrar adecuadamente los recursos que fueron utilizados por su conductor . En algunos casos , un conductor puede apoyar la interacción directa con el dispositivo por la aplicación. En este caso, el conductor debe mantener los recursos disponibles hasta que se le indique específicamente que cerrar en un momento posterior .