lunedì 17 novembre 2008

Plug and Play

In informatica il termine plug and play (in inglese letteralmente inserisci e gioca, meglio tradotto come collega e utilizza) indica una tecnologia che permette al sistema operativo di assegnare automaticamente all'hardware compatibile risorse hardware quali IRQ, indirizzi I/O, canali DMA e regioni di memoria. In questo modo per installare nuove schede di espansione non serve più essere degli scienziati o dover rivolgersi per forza a un tecnico: possono farlo anche utenti molto inesperti!
In passato, per assegnare le risorse hardware necessarie ad ogni scheda, era necessario disporre dei jumper sulle schede di espansione; essendo quest'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 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.
La tecnologia plug and play è nata sui computer Amiga: AmigaOS dalla versione 1.3 (1987) implementava tale tecnologia, nota agli utenti Amiga con il nome di AutoConfig; nel 1990 una tecnologia similare venne adottata dai computer Macintosh di Apple.
Il concetto di plug and play così come lo conosciamo oggi è stato invece formalizzato nel marzo del 1993 alla Windows Hardware Conference di Microsoft, da parte dei colossi Microsoft, Intel e Compaq.
Nel 1995 Microsoft fece del plug and play una delle punte di diamante del suo sistema operativo allora in fase di lancio, Windows 95. Erano i tempi dello 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 (collega e prega, inteso come "prega che funzioni").
Ormai, a distanza di più di un decennio dall'introduzione di questa tecnologia, il supporto si è esteso a tutti i sistemi operativi più diffusi, e la maturità del software e dell'hardware è stata pienamente raggiunta, rendendo il plug and pray solo un ricordo.