Compartilhar via


Configurável

Os dispositivos periféricos de hoje devem ser configuráveis por hardware e seus drivers devem ser configuráveis por software.

Um dispositivo será configurável por hardware se puder aceitar atribuições diferentes dos recursos de hardware do sistema, como números de porta de E/S, sem ser modificado fisicamente. Por exemplo, se um conjunto de discos hot-pluggable Plug and Play estiverem conectados em uma configuração RAID (matriz redundante de discos independentes), um usuário poderá trocar discos enquanto o sistema estiver em execução. Se um dispositivo for configurável por hardware, seus drivers não poderão conter valores embutidos em código e dependentes do sistema para os recursos de hardware do dispositivo.

Um driver será configurável por software se:

  • Ele pode receber e alterar os recursos de hardware do dispositivo dinamicamente.

    Os drivers que dão suporte a Plug and Play não contêm valores embutidos em código para os recursos de hardware de um dispositivo, nem o driver sonda o dispositivo para determinar suas atribuições de recursos. Em vez disso, o sistema atribui dinamicamente recursos ao dispositivo e, em seguida, fornece valores de recurso ao driver.

  • Ele foi escrito sem suposições sobre outros drivers que poderiam residir acima ou abaixo dele em sua pilha de drivers.

    Por exemplo, o design de um driver de dispositivo de nível inferior para um disco deve ser flexível o suficiente para dar suporte a vários sistemas de arquivos implementados por vários drivers de sistema de arquivos de alto nível, possivelmente em um único computador.

    Além disso, se um computador tiver capacidade de armazenamento em massa suficiente, esse mesmo driver de disco de nível inferior não deverá interferir no suporte de um driver intermediário para tolerância a falhas (implementado como partições espelhadas, conjuntos de distribuição ou conjuntos de volumes) em um sistema de arquivos.

O gerenciador PnP e cada driver de barramento de hardware PnP trabalham juntos para fornecer uma interface entre o hardware da plataforma para um tipo específico de barramento de E/S e o software do sistema. O gerenciador PnP cria uma árvore de dispositivos, com nós que representam todos os dispositivos no sistema, incluindo barramentos. Para cada dispositivo, o gerenciador PnP mantém duas listas:

  • Uma lista dos recursos de hardware que o dispositivo é capaz de usar.

  • Uma lista dos recursos de hardware que são realmente atribuídos ao dispositivo.

Os drivers de dispositivo auxiliam o gerenciador de PnP na criação dessas listas, que são mantidas no registro. À medida que os dispositivos são adicionados e removidos do sistema, o gerenciador PnP reatribui recursos conforme necessário e atualiza as listas.

O componente HAL (camada de abstração de hardware) do sistema, que é implementado como uma biblioteca de vínculo dinâmico, é responsável por alguns dos suportes específicos de plataforma e nível de hardware necessários para outros componentes do sistema, incluindo drivers no modo kernel.