Che cos’è un driver della scheda di rete?

Un driver della scheda di rete è un software di basso livello che controlla una scheda di rete. Ciascun driver di rete gestisce uno o più adattatori di rete in un sistema informatico. È progettato specificamente per un particolare tipo di adattatore e un particolare sistema operativo (OS). Un driver della scheda di rete opera a livello di Media Access Control della rete; controlla direttamente i circuiti dell’adattatore di rete ad esso associato. In combinazione con altri livelli di rete, un sistema informatico utilizza un driver della scheda di rete per comunicare con altri computer in rete e Internet.

Prima della fine degli anni ‘1990, i driver delle schede di rete di solito eseguivano gran parte del lavoro faticoso delle comunicazioni di rete. Alcune schede di rete richiedevano driver per copiare tutti i dati dei pacchetti tra i loro buffer di memoria e i buffer del sistema operativo; le intestazioni di identificazione venivano spesso compilate dai conducenti durante questo processo. I driver degli adattatori dovevano spesso gestire casi speciali come la ricezione di pacchetti multicast e il funzionamento in “modalità promiscua”. Durante la configurazione, un driver doveva spesso identificare il tipo di bus del computer e programmare l’adattatore di conseguenza. Per stare al passo con la velocità del collegamento di rete, la maggior parte dei driver dell’adattatore è stata scritta in un linguaggio assembly altamente efficiente.

Con l’aumento della velocità massima del collegamento di rete, i driver di rete e altri livelli software del sistema operativo diventavano spesso colli di bottiglia. Per contrastare ciò, i progettisti del sistema operativo hanno spostato gran parte della funzionalità del driver della scheda di rete più in profondità nel sistema operativo; stretta integrazione e ottimizzazione con gli altri livelli di rete spesso migliorano le prestazioni. Gli adattatori di rete più recenti possono costruire e copiare tutti i dati dei pacchetti tramite hardware, una volta indicato dove si trovano i buffer dei dati del sistema operativo. Allo stesso tempo, una migliore generazione del codice del compilatore ha consentito di scrivere i driver dell’adattatore in linguaggio di programmazione per computer generico C anziché in linguaggio assembly. Come risultato di queste ottimizzazioni, i driver della scheda di rete sono diventati molto più semplici da scrivere e gestire. I driver moderni devono ancora implementare alcune configurazioni, gestione dell’alimentazione e supporto multiprocessing; il sistema operativo e l’hardware della scheda di rete ora eseguono la maggior parte del lavoro sensibile al fattore tempo, tuttavia.

Diversi driver della scheda di rete possono essere eseguiti contemporaneamente su un sistema. La maggior parte dei computer moderni include un’interfaccia adattatore di rete cablata integrata nella scheda madre; il suo driver della scheda di rete è solitamente incluso con il sistema operativo. I laptop e altri computer portatili includono spesso anche un adattatore di rete wireless e un driver. Molti sistemi forniscono un mezzo per collegare schede di rete aggiuntive: gli adattatori Gigabit Ethernet o Fibre Channel ad alta velocità sono scelte comuni. I loro driver sono spesso inclusi con gli adattatori di rete al momento dell’acquisto. La maggior parte dei produttori pubblica anche le ultime versioni dei propri driver su Internet; gli utenti dovrebbero controllare periodicamente e installare questi driver aggiornati per ottenere le ultime correzioni di bug e miglioramenti delle prestazioni.