Dal moderno SO di Tanenbaum,
ogni sistema operativo ha un sottosistema I / O per la gestione dei propri dispositivi I / O. Alcuni software I / O sono indipendenti dal dispositivo , vale a dire che si applicano ugualmente a molti o tutti i dispositivi I / O. Altre parti di esso, come driver di periferica, sono specifiche per particolari dispositivi di I / O .
C'è anche un diagramma degli strati dei sistemi software I / O:
Nei seguenti due diagrammi del sottosistema IO di Linux , puoi tracciare un confine tra componenti indipendenti dal dispositivo e dipendenti dal dispositivo? In altri reparti, quali componenti sono dipendenti dal dispositivo e quali componenti sono indipendenti dal dispositivo? Il mio pensiero è che i "driver" dipendono dal dispositivo e "VFS" è indipendente dal dispositivo. Ma non sono sicuro degli altri componenti.
Dallo stesso libro:
Bovet's Understanding the Linux Kernel 2005 ha anche uno: