# Plug and play

Plug and play (o PnP o plug & play, dall'inglese che tradotto letteralmente significa "collega e usa"), in informatica, viene usata in diversi contesti con riferimento a tecnologie che possono essere messe in uso all'interno di un sistema hardware o/e software senza che l'utente del sistema conosca o metta in atto una specifica procedura di installazione o configurazione. Il termine "plug and play" nel tempo è stato esteso a un'ampia varietà di applicazioni caratterizzate dalla mancanza di configurazione da parte dell'utente.

## Storia

La tecnologia "plug and play" fu introdotta sulla piattaforma Amiga: AmigaOS, il sistema operativo dei computer Amiga, dalla release 1.2 (1986) implementava tale tecnologia, che era chiamata AutoConfig; a causa di un bug tuttavia essa non fu davvero utilizzabile fino alla successiva release 1.3 del 1988. Dal 1990 una tecnologia analoga fu adottata dai computer Macintosh di Apple, e successivamente sui personal computer IBM compatibili.
L'espressione "plug and play" fu invece introdotta nel marzo del 1993 alla Windows Hardware Conference di Microsoft, da parte dei colossi Microsoft, Intel e Compaq. Nel 1995 Microsoft pubblicizzò (e spinse) il plug and play come una delle caratteristiche salienti del suo sistema operativo allora in fase di lancio, Windows 95. In quel periodo ancora spadroneggiava lo standard ISA, non nativamente compatibile con il Plug and Play a differenza del PCI, e la convivenza fra hardware Plug and Play e non, portava spesso a malfunzionamenti; a causa di questo, la tecnologia Plug and Play fu da alcuni sarcasticamente ribattezzata "plug and pray", termine inglese che significa "collega e prega" (nel senso di "prega che funzioni").
Con Windows 98 il PnP divenne disponibile per un'ampia varietà di dispositivi hardware.

## Descrizione

L'uso più comune dell'espressione è con riferimento a periferiche esterne di un computer che possano essere messe in uso semplicemente collegandole al computer stesso. Dispositivi come chiavette USB e altri sistemi di memoria di massa esterni, stampanti, monitor e via dicendo sono spesso dotati di questa caratteristica. In generale anche alcuni dispositivi di rete che operano al livello di collegamento (o sottostante), come i bridge cosiddetti trasparenti e gli hub, sono plug and play.
In senso più tecnico l'espressione può essere riferita a componenti hardware interni come schede di espansione della memoria. In questo contesto in genere per scheda plug and play si intende una scheda che possa essere messa in uso semplicemente collegandola alla scheda madre del computer mentre il computer stesso è spento e riavviando. Poiché il collegamento richiede in ogni caso lo spegnimento e riaccensione del sistema, questo tipo di schede potrebbe essere più propriamente definita power down, plug, power up, and play (spegni, collega, accendi e utilizza).

## Innovazione e funzionamento

Il plug and play ha permesso soprattutto di facilitare l'installazione delle periferiche, rendendo automatici il caricamento dei driver e l'allocazione delle risorse, semplificando quindi l'interazione con l'hardware da parte dell'utente, che non deve quindi necessariamente avere rudimenti sui tipi di risorse di sistema quali IRQ, indirizzi I/O, canali DMA, regioni di memoria. In passato, per assegnare le risorse hardware necessarie ad ogni scheda, era necessario disporre dei jumper sulle schede di espansione; essendo questa operazione a carico dell'utente e non di personale tecnico specializzato, c'era un concreto rischio di portare più schede a tentare di utilizzare le stesse risorse, andando così incontro ai cosiddetti conflitti hardware.
Con il plug and play, il BIOS prima ed il sistema operativo poi si fanno carico di effettuare queste scelte per conto dell'utente, in maniera del tutto trasparente all'utente, a meno di (ormai rari) errori. Questo può avvenire grazie alla capacità delle schede di identificarsi e di condividere gli IRQ, capacità fondamentali per instaurare una comunicazione con il BIOS all'avvio della macchina.
Ad ogni avvio della macchina, durante il POST, un'apposita routine del BIOS rileva tutte le periferiche presenti, ed ognuna di esse gli indica di rimando quali e quante risorse richiede. La routine, grazie a degli opportuni criteri, accorda la disponibilità delle varie risorse alle schede che ne avevano fatta richiesta, assicurando così un'assegnazione delle risorse rigorosa e a prova di errori. Una volta finito il POST, il sistema operativo durante il caricamento ottiene dal BIOS una tabella delle periferiche rilevate ed i loro identificativi, mediante i quali può determinare quali driver caricare per comunicare con l'hardware presente nel sistema. Questo completa l'installazione dell'hardware, che è così in grado di funzionare completamente; il tutto senza alcun intervento dell'utente.

## Curiosità

La prima versione di Plug and Play per Windows era uscita nel 1993 assieme al sistema operativo Windows 95, col nome di PaPlp2.