I dispositivi di Input/Output, o periferiche di I/O, sono gli strumenti con cui il computer si interfaccia con il mondo esterno. I device non sono tutti uguali, essi si differenziano per esempio sulla base delle modalità di manipolazione dei dati, infatti, esistono:

  • Dispositivi a blocchi, come ad esempio Hard Disk, dischi USB, CD e DVD. Tutti i trasferimenti relativi a queste unità avvengono per mezzo di uno o più blocchi consecutivi;
  • Dispositivi a caratteri, come ad esempio i mouse. Questi device accettano un flusso di caratteri di lunghezza variabile e senza struttura.

Questa suddivisone non è tuttavia perfetta, soprattutto non comprende un elevato numero di dispositivi che utilizzano un modello ibrido o comunque diverso da quelli presentati.

Controller del Dispositivo

I dispositivi di I/O si possono dividere in due componenti distinte, una componente meccanica e una componente elettronica. La componente elettronica è la parte incaricata della gestione del dispositivo, quest’ultima è detta device controller o controller del dispositivo ed è rappresentata da un chip presente ad esempio sulla scheda madre. Ogni sistema possiede un certo numero di device controller diversi, in grado di gestire un numero diverso di periferiche dello stesso tipo. Ognuno di questi controller è progettato per interfacciarsi con una tipologia specifica di dispositivi, spesso durante tali collegamenti vengono anche utilizzati dei linguaggio (interfaccia) proprietari/specifici. Alcune interfacce famose sono: USB, SATA, IDE, ecc…

L’interfaccia tra un dispositivo è un controller avviene in genere a un livello molto basso, il compito del controller è quello di tradurre lo stream in ingresso in blocchi di dati da consegnare al sistema operativo.