Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I dispositivi periferici di oggi devono essere configurabili dall'hardware e i driver devono essere configurabili dal software.
Un dispositivo è configurabile dall'hardware se può accettare assegnazioni diverse delle risorse hardware del sistema, ad esempio numeri di porta di I/O, senza essere fisicamente modificate. Ad esempio, se un set di dischi Plug and Play collegabili a caldo è connesso in una matrice ridondante di dischi indipendenti (RAID), un utente può scambiare i dischi mentre il sistema è in esecuzione. Se un dispositivo è configurabile dall'hardware, i relativi driver non possono contenere valori hardcoded dipendenti dal sistema per le risorse hardware del dispositivo.
Un driver è configurabile dal software se:
Può ricevere e modificare le risorse hardware del dispositivo in modo dinamico.
I driver che supportano Plug and Play non contengono valori hardcoded per le risorse hardware di un dispositivo, né il driver esegue il polling del dispositivo per determinare le assegnazioni di risorse. Al contrario, il sistema assegna in modo dinamico le risorse al dispositivo e quindi fornisce i valori delle risorse al driver.
È stato scritto senza fare supposizioni su altri driver che potrebbero risiedere sopra o sotto di esso nello stack di driver.
Ad esempio, la progettazione di un driver di dispositivo di livello inferiore per un disco deve essere sufficientemente flessibile per supportare più file system implementati da più driver di file system di alto livello, possibilmente in un singolo computer.
Inoltre, se un computer dispone di sufficiente capacità di memorizzazione di massa, lo stesso driver del disco di basso livello non deve interferire con il supporto di un driver intermedio per la tolleranza di errore (implementata come partizioni con mirroring, set di strisce o set di volumi) all'interno di un file system.
Il gestore PnP e ogni driver del bus hardware PnP interagiscono per fornire un'interfaccia tra l'hardware della piattaforma per un tipo specifico di bus di I/O e il software del sistema. Il manager PnP crea un albero dei dispositivi, con nodi che rappresentano tutti i dispositivi nel sistema, inclusi gli autobus. Per ogni dispositivo, il gestore PnP gestisce due elenchi:
Elenco delle risorse hardware che il dispositivo è in grado di usare.
Elenco delle risorse hardware effettivamente assegnate al dispositivo.
I driver di dispositivo supportano il manager PnP nella creazione di questi elenchi, gestiti nel Registro di sistema. Man mano che i dispositivi vengono aggiunti e rimossi dal sistema, il gestore PnP riassegna le risorse in base alle esigenze e aggiorna gli elenchi.
Il componente HAL (Hardware Abstraction Layer) del sistema, implementato come libreria a collegamento dinamico, è responsabile di alcuni dei supporti specifici della piattaforma a livello di hardware necessari per altri componenti di sistema, inclusi i driver in modalità kernel.