VxD - VxD

VxD é o modelo de driver de dispositivo usado no Microsoft Windows / 386 2.x, o modo 386 avançado do Windows 3.x , Windows 9x e, até certo ponto, também pelo Novell DOS 7 , OpenDOS 7.01 e DR-DOS 7.02 (e superior) multitarefa ( TASKMGR ). Os VxDs têm acesso à memória do kernel e a todos os processos em execução , bem como acesso bruto ao hardware. A partir do Windows 98 , o Windows Driver Model foi o modelo de driver recomendado para escrever drivers, com o modelo de driver VxD ainda sendo compatível para compatibilidade com versões anteriores, até o Windows Me .

Projeto

O nome "VxD" é uma abreviatura para "driver xxx virtual", onde "xxx" é alguma classe de dispositivo de hardware. Ela deriva do fato de que a maioria dos motoristas tinham nomes de arquivos da forma vxxxd.386 em Windows 3.x . Alguns exemplos são: vjoyd.386 (joystick), vmm.386 (gerenciador de memória). VxDs geralmente têm a extensão de nome de arquivo .386 no Windows 3.xe .vxd no Windows 9x. VxDs escritos para Windows 3.x podem ser usados ​​no Windows 9x, mas não vice-versa.

História

Antes do advento do Windows, os aplicativos DOS se comunicavam diretamente com as várias peças de hardware (respondendo a interrupções, lendo e gravando na memória do dispositivo, etc.) ou passavam por um driver de dispositivo DOS . Como o DOS não era multitarefa, cada aplicativo teria controle exclusivo e completo sobre o hardware durante a execução. Embora os aplicativos do Windows geralmente não se comuniquem diretamente com o hardware, era a única forma de drivers do Windows; e ainda está nos modos real e padrão do Windows 3.x.

O Windows / 386 e posteriores permitiam que vários aplicativos DOS fossem executados simultaneamente, executando cada um em sua própria máquina virtual . Para compartilhar recursos físicos entre essas máquinas virtuais, a Microsoft introduziu drivers de dispositivos virtuais. Esses drivers resolveram problemas relacionados ao uso conflitante de recursos físicos, interceptando chamadas para o hardware. Em vez de uma porta de máquina representando um dispositivo real, representaria um dispositivo "virtual", que poderia ser gerenciado pelo sistema operacional.

Obsolescência

Embora o Windows 98 tenha introduzido o Windows Driver Model (WDM), os drivers de dispositivo VxD podem ser usados ​​no Windows 98 e no Windows Me. Os VxDs não podem ser usados ​​no Windows NT ou em seus descendentes. A partir do Windows 2000, os sistemas operacionais baseados no Windows NT também usam o modelo de driver do Windows, enquanto o Windows NT 4 e versões anteriores devem usar drivers escritos especificamente para eles. O uso de drivers VxD em vez de drivers WDM no Windows 9x resultou na indisponibilidade de estados ACPI avançados , como a hibernação .

Os VxDs não devem ser confundidos com os 'VDDs' específicos para NTVDM (Drivers de Dispositivo Virtual), que fornecem um método de emular E / S direta em uma "caixa DOS" do Windows NT. Os NTVDM VDDs são executados como DLLs normais de modo de usuário de 32 bits e devem contar com a API Win32 (ou outro driver WDM) para emular a E / S desejada em nome do programa de 16 bits.

Veja também

Referências

Leitura adicional