Come funziona un driver e a cosa serve

DiMarco Nisticò

PUBBLICATO IL 6 Mag 2018 ALLE 23:03 - AGGIORNATO IL 19 Agosto 2019 ALLE 14:17

Spesso sentiamo la parola driver, in relazione alle schede video o all’installazione di dispositivi. Ma esattamente come funziona un driver? In questo articolo cercheremo di spiegarlo.

Partiamo dal principio. Quando noi montiamo un computer, successivamente dovremo anche installare il sistema operativo e tutti i programmi necessari per un corretto funzionamento. Tra questi programmi ci sono anche i cosiddetti driver.

Che cos’è un driver?

Un driver è un software che permette di far comunicare correttamente le periferiche (hardware) al sistema operativo (software). Il collegamento tra hardware e software è possibile solamente grazie ai driver, che installano sul PC tutte le librerie e i file necessari.

Spesso su Windows vedete apparirà la scritta “Configurazione dispositivo in corso” oppure “Installazione dispositivo in corso“. Queste frasi indicano che il sistema operativo sta installando automaticamente i driver necessari per far funzionare quel determinato dispositivo. In alcuni casi sarà necessario scaricare driver appositi per specifiche componenti, come ad esempio la scheda video (Nvidia o AMD), la scheda madre (ASRock, Asus ecc.) o periferiche che richiedono il software della casa produttrice.

Il termine driver (letteralmente guidatore) deriva dal fatto che il sistema operativo, attraverso l’installazione del software necessario, può gestire comodamente le diverse periferiche installate, senza conflitti o problemi di alcun tipo.

Come funziona un driver e la sua struttura

Un driver è un software (o un insieme di essi), scritto solitamente in Assembly, che permette al sistema di comunicare con le periferiche senza conoscerne il funzionamento. Il tutto avviene attraverso una semplice interfaccia grafica, con cui modificare le impostazioni della periferica. Facendo un esempio, consideriamo i driver di un mouse. Alcuni produttori richiedono l’installazione di un software proprietario, dotato di un’interfaccia che permette di regolarne il livello di DPI oppure cambiarne l’illuminazione. Tale programma altro non è che il driver di cui stiamo parlando.

Quindi il sistema operativo non ha bisogno di conoscere il funzionamento dell’hardware, ma esegue solamente un’astrazione sull’implementazione dell’hardware, elaborandone il funzionamento logico.

Per realizzare un driver funzionante e pienamente compatibile, è necessaria una conoscenza avanzata dell’hardware. Proprio per tale motivo è consigliato scaricare ed installare solamente i driver sviluppati dai produttori dell’hardware stesso. Esistono anche i driver di terze parti, ma non è detto che siano compatibili al 100% con il sistema. E’ possibile che un singolo driver possa essere compatibile con periferiche o dispositivi differenti. Basti considerare il caso delle schede video. Una specifica versione dei driver video può supportare diversi modelli di schede, anche se prodotte da aziende differenti.

[adsense]

Driver hardware

Oltre ai classici driver che installiamo su PC come un normalissimo programma, esistono anche dei driver hardware, che consistono in semplici schede elettroniche. Infatti il driver software altro non è che una virtualizzazione di quello che dovrebbe essere un driver fisico.

Tale tipologia di driver agisce direttamente sui registri della periferica, che si dividono in:

  1. Registro di controllo
  2. Registro di stato
  3. Registro dati

Il Registro di controllo verifica essenzialmente che la periferica sia attiva o meno, attraverso l’uso di un bit di attivazione, che avrà valore 1 se la periferica è connessa e 0 quando la scolleghiamo dal PC. Il Registro di stato controlla che la periferica non abbia restituito errori durante l’utilizzo. Infine il Registro dati raccoglie tutti i dati che vengono caricati in ingresso (es. lettura di dati dal disco, caricamento di un file ecc.).

Con questo articolo vi abbiamo dato tutte le informazioni necessarie per comprendere come funziona un driver e il suo utilizzo.

Di Marco Nisticò

Sviluppatore informatico, cerco sempre di stare al passo con i tempi in un mondo ormai circondato dalla tecnologia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.