Un driver in esecuzione in modalità kernel può accedere direttamente a una porta?

0

Sulla base di ciò che so finora, se voglio creare un driver e voglio che il driver invii i dati su qualche porta (ad esempio: seriale / parallela / USB), il mio driver comunicherà con il driver della porta, e il driver della porta è quello che accederà direttamente alla porta.

Supponiamo che il mio driver funzioni nella modalità kernel.

Ora la mia domanda è: il mio autista può accedere direttamente alla porta invece di dire al driver della porta di farlo? Suppongo che la risposta sia yes poiché il mio driver è in esecuzione in modalità kernel e quindi può fare qualsiasi cosa (voglio dire se il driver della porta può farlo, allora il mio driver dovrebbe essere in grado di farlo anche!).

    
posta John 29.05.2017 - 04:14
fonte

1 risposta

3

Definiamo prima "accedi alla porta".

Una porta seriale / USB avrà un IC speciale sulla scheda madre. Sarà collegato da tracce elettriche a un controller periferico o altri circuiti integrati, il tutto infine collegato alla CPU.

Quindi, quando diciamo "accedi alla porta" per significare "controllare i segnali elettrici su quelle tracce collegate a quel controller USB", allora sì, un driver in modalità kernel può farlo accadere.

Il problema è quando definiamo "accedi alla porta" per significare "fare in modo che la porta faccia qualcosa di utile" . Un controller USB è un chip molto complesso, il protocollo USB è un enorme problema da implementare. Non riuscirai a indovinare il modo giusto per parlarci, non indovinerai come il chip interpreti i segnali elettrici applicati ai suoi pin. A volte i creatori del CI manterranno segreti quei dettagli, e anche se li pubblicano, può essere molto lavoro.

Nel caso di USB, esiste una società, FTDI, in cui la sua intera ragione di esistenza è quella di consentire alle persone di realizzare hardware connesso USB e contemporaneamente evitare il fastidio di scrivere driver per questo.

Quindi la risposta alla tua domanda è probabilmente no , perché mentre la tua domanda scritta è nel contesto della prima definizione, stai pensando e i tuoi obiettivi sono del secondo.

    
risposta data 29.05.2017 - 06:53
fonte

Leggi altre domande sui tag