Un driver di periferica è un pezzo di software che semplifica l'interazione tra programmi applicativi e di un dispositivo hardware collegato al computer . Un driver di periferica è sia hardware specifico dispositivo . In alcuni casi , l' attuazione di un driver può essere separato in strati logici e fisici , consentendo una parte del codice da essere condivisa da una simile classe di dispositivi , come una stampante o un monitor . Il sistema operativo ( OS ) definisce i meccanismi specifici che consentono alle applicazioni di imparare la disponibilità e la capacità di un dispositivo hardware , e integrare le sue caratteristiche in comportamenti di programma . Istruzioni
1
studiare i manuali che descrivono i meccanismi previsti dal dispositivo hardware per controllare le sue caratteristiche. Interazioni tipicamente assumono la forma di segnali che mappano ai comandi che producono comportamenti supportati.
2
Nozioni di base di scrittura di un driver di dispositivo per il sistema operativo di destinazione . Ciò fornisce un'idea generale del processo da seguire per rendere hardware servizi accessibili . Il quadro driver specifica i dettagli di usare le eccezioni previste per consentire ai conducenti di operare a livello di kernel di solito limitato al sistema operativo .
3
Scrivi un driver semplice shell che fornisce i meccanismi di base per collegare un driver di dispositivo a un'applicazione. La maggior parte dei quadri forniscono esempi e codice tutorial che consentono di ottenere una semplice applicazione che può essere utilizzata come base per il driver . Questo guscio dovrebbe fornire i meccanismi per avviare correttamente e chiudono il conducente , prima e dopo le invocazioni specifiche .
4
Determinare la funzione di hardware più semplice possibile è possibile implementare . Questo esercizio fornisce i fondamenti della programmazione di una interazione , verificare che l'hardware sia correttamente collegato al computer e comunicare. È comune iniziare con una semplice richiesta unidirezionale che attiva un dispositivo a luce o il suono di confermare avvenuta trasmissione del messaggio. Questo processo si insegna come iniziare , inviare e chiudere una interazione con il dispositivo .
5
Tackle interazioni più avanzate , uno alla volta , sulla base della conoscenza acquisita a passaggi precedenti . Gli esempi includono le operazioni che attendere una risposta di dati da restituire al conducente , in modo sincrono o asincrono. Queste interazioni possono richiedere meccanismi che l'esecuzione del blocco fino a quando si riceve una risposta di attuazione o entrare in uno stato che permette la ricezione di una risposta e di reazione in un secondo momento .
6
Implementare manipolazioni di dati per produrre i risultati nel formare atteso dall'applicazione chiamante . Alcuni quadri del driver consentono la separazione del codice in livelli kernel e utente . Il livello di utente , in cui operano le applicazioni , è più ristretto , ma meno in grado di provocare l'instabilità del sistema . Se il sistema operativo supporta questa funzione , queste manipolazioni sono candidati da attuare a livello di utente , se hanno bisogno di eccezioni di livello kernel .
7
Riportare i dati per l'applicazione e chiudere correttamente le risorse che sono state usate da il driver . In alcuni casi , il conducente può supportare interazione diretta con il dispositivo dall'applicazione. In questo caso , il conducente ha bisogno di mantenere le risorse disponibili fino specificamente indicato di chiudere in un secondo momento .