Condividi tramite


Configurabile

I dispositivi periferici di oggi devono essere configurabili dall'hardware e i relativi driver devono essere configurabili dal software.

Un dispositivo è configurabile dall'hardware se può accettare assegnazioni diverse delle risorse hardware del sistema, ad esempio i numeri di porta di I/O, senza essere fisicamente modificati. 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 durante l'esecuzione del sistema. Se un dispositivo è configurabile dall'hardware, i relativi driver non possono contenere valori hardcoded e 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 presupposti 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 capacità di archiviazione di massa sufficiente, lo stesso driver del disco di livello inferiore non deve interferire con il supporto di un driver intermedio per la tolleranza di errore (implementata come partizioni con mirroring, set di striping 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 gestore PnP crea un albero dei dispositivi, con nodi che rappresentano tutti i dispositivi nel sistema, inclusi gli autobus. Per ogni dispositivo, il responsabile 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 gestore 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 di 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.