Um driver de dispositivo é um pedaço de software que simplifica a interação entre programas de aplicação e um dispositivo de hardware conectado ao computador . Um driver de dispositivo é tanto hardware e específico dispositivo. Em alguns casos , a aplicação de um condutor pode ser separado em camadas lógicos e físicos , permitindo que uma parte do código a ser partilhado por uma classe semelhante de dispositivo , tal como uma impressora ou um monitor . O sistema operacional (OS ) define mecanismos específicos que permitem que aplicativos para saber da disponibilidade e capacidades de um dispositivo de hardware e integrar seus recursos em comportamentos programa. Instruções
1
Estude os manuais que descrevem os mecanismos previstos pelo dispositivo de hardware para controlar suas características. Interações tipicamente tomam a forma de sinais que são mapeados para os comandos que produzem comportamentos suportados.
2
Aprenda o básico de escrever um driver de dispositivo para o seu sistema operacional de destino. Isso dá uma idéia geral do processo a seguir para tornar os serviços de hardware acessível. O quadro motorista especifica os detalhes do uso excepções previstas para que os motoristas possam operar no nível do kernel normalmente restrita ao sistema operacional .
3
Escrever um motorista shell simples que fornece os mecanismos básicos para conectar um driver de dispositivo para um aplicativo. A maioria dos quadros fornecer exemplos e código tutorial que irá produzir uma implementação simples que pode ser usado como base para o seu motorista . Este shell deve fornecer os mecanismos para iniciar corretamente e desligar o driver antes e depois de invocações específicas.
4
Determine a função de hardware mais simples possível, você pode implementar. Este exercício fornece os fundamentos da programação de uma interação, de verificar se o hardware está conectado corretamente ao computador e se comunicar. É comum começar com um simples pedido de sentido único que ativa um mecanismo de luz ou som para confirmar a transmissão bem sucedida da mensagem. Este processo ensina como iniciar , enviar e fechar uma interação com o dispositivo.
5
Combater interações mais avançadas um de cada vez , tomando como base os conhecimentos adquiridos em etapas anteriores. Exemplos incluem operações que esperar por uma resposta de dados a ser retornado para o motorista, de forma síncrona ou assíncrona. Estas interações podem exigir a implementação de mecanismos que bloqueiam a execução até que seja recebida uma resposta , ou entrar em um estado que permite o recebimento de uma resposta e reação em um momento posterior .
6
Implementar manipulações de dados para produzir os resultados no formar esperado pelo aplicativo de chamada. Algumas estruturas motorista permitir a separação de código em níveis de kernel e de usuário. O nível de usuário, onde as aplicações operar, é mais restrito , mas menos capaz de resultar em instabilidade do sistema. Se o sistema operacional suportar esse recurso, essas manipulações são candidatos a serem implementadas a nível de usuário , se eles não necessitam de exceções nível de kernel.
7
retornar os dados para a aplicação e os recursos corretamente próximos que foram usados por seu driver. Em alguns casos , o condutor pode suportar a interacção directa com o dispositivo de aplicação . Neste caso , o motorista precisa manter recursos disponíveis até especificamente instruído para encerrar em um momento posterior .