# Dispositivo (informatica)

Un dispositivo, in informatica, indica un componente del computer che svolge una determinata funzione:
* dispositivo di input: apparecchiatura tramite la quale l'operatore inserisce o trasferisce i dati nel computer;
* dispositivo di memoria: apparecchiatura costruita per immagazzinare dati in una forma leggibile dalla macchina;
* dispositivo di output: apparecchiatura con cui un dato immagazzinato nel computer viene trasferito all'esterno (per esempio, una stampante).
Inoltre il termine, utilizzato anche nel suo equivalente inglese device, può indicare degli elementi concernenti un sistema operativo:
* device, astrazione di un dispositivo hardware al quale il sistema operativo fornisce accesso mediante un driver; nei sistemi Unix storicamente si sono distinti i block device (i dispositivi che accedono ai dati in gruppi di byte e non necessariamente in sequenza) dai character device (ai quali l'astrazione in oggetto fornisce primitive per accedere ai byte strettamente in sequenza);
* device file o file speciale, un'interfaccia ad un driver che appare nel file system come se fosse un file ordinario; anch'essi sono divisi storicamente in block e character.

## Dispositivi Ibridi (Input/Output)

Alcuni dispositivi sono progettati per svolgere sia funzioni di input che di output, rendendoli strumenti versatili nel contesto informatico. Questi dispositivi, noti come dispositivi I/O, consentono di inviare e ricevere dati simultaneamente.

### Esempi di dispositivi I/O

* Touchscreen: consente l'interazione tramite il tocco (input) e visualizza informazioni (output).
* Stampanti multifunzione: possono stampare documenti (output) e acquisire immagini tramite scanner (input).
* Hard disk e SSD: memorizzano dati scritti dal sistema (input) e forniscono accesso ai dati memorizzati (output).
Questi dispositivi sono fondamentali in ambienti in cui efficienza e multifunzionalità sono richieste.

## Gestione dei dispositivi nei sistemi operativi

I sistemi operativi moderni utilizzano driver per garantire la comunicazione tra il dispositivo hardware e il software. I driver sono programmi specializzati che traducono i comandi del sistema operativo in istruzioni comprensibili dal dispositivo.

### Driver di dispositivo

* Consentono l'utilizzo di periferiche senza necessità d'interazione diretta con l'hardware.
* Sono specifici per ogni dispositivo e sistema operativo.

### File di dispositivo

Nei sistemi basati su Unix/Linux, ogni dispositivo hardware è rappresentato come un file speciale all'interno del file system. Questi file si trovano nella directory /dev e si suddividono in:
* Block device: utilizzati per dispositivi che leggono e scrivono dati in blocchi, come i dischi rigidi.
* Character device: utilizzati per dispositivi che trasmettono dati in sequenza, come tastiere e porte seriali.

## Evoluzione dei dispositivi informatici

Negli corso degli anni i dispositivi informatici si sono evoluti significativamente:
* Anni 1970-80: Dispositivi di input semplici come tastiere e dispositivi di output come stampanti a matrice di punti.
* Anni 1990: L'introduzione dei mouse ottici, dei monitor CRT e dei primi dispositivi di memoria rimovibile (floppy disk e CD-ROM).
* XXI secolo: Dispositivi touchscreen, realtà virtuale (VR), Solid State Drive ad alte prestazioni e Internet delle cose (IdC) cioè dispositivi che permettono una comunicazione remota e automatizzata.

## Dispositivi e sicurezza

I dispositivi informatici, soprattutto quelli connessi a una rete telematica, possono rappresentare un rischio per la sicurezza:
* Dispositivi IdC: spesso vulnerabili agli attacchi informatici se non adeguatamente protetti;
* Periferiche USB: possono trasportare malware se collegati a sistemi non sicuri;
* Dispositivi di rete: router e modem necessitano di aggiornamenti regolari per proteggersi da minacce esterne.
Implementare misure di sicurezza, come firewall, antivirus e aggiornamenti regolari del firmware, è essenziale per mitigare questi rischi.