Una delle principali astrazioni in Unix è il file (sorgente):
Programmi, servizi, testi, immagini e così via, sono tutti file. I dispositivi di input e output, e generalmente tutti i dispositivi, sono considerati file, secondo il sistema.
Ciò consente agli utenti di trattare una varietà di entità con un insieme uniforme di operazioni, anche se l'implementazione di tali operazioni potrebbe essere molto diversa.
Mentre stavi arrivando con la tua domanda, i file di dispositivo sono il lato dell'astrazione rivolto all'utente. Questo è ciò che vede l'utente; un file su cui possono scrivere, leggere, aprire, chiudere, ecc. I driver di dispositivo sono l'implementazione di tali operazioni.
Quindi l'utente effettuerà una chiamata a un'operazione di file come write, e quindi il kernel utilizzerà il driver del dispositivo per eseguire l'operazione.