"Plug and Play" é um termo específico do Windows que originalmente significava o método. Posteriormente, o ISA e os dispositivos PCI permitiam que o sistema operacional escolhesse os recursos que consumiam. O BIOS poderia fazer isso também para o DOS, ou deixar o Windows e fazê-lo completamente.
Os recursos são A) endereços de memória, B) endereços de E / S, C) IRQs e / ou D) canais de DMA. Cada, vários ou todos estes podem ser usados por um dispositivo para se comunicar com a CPU.
Então, originalmente, um driver "Plug and Play" era um driver que entendia como inicializar o dispositivo, ou seja, configurá-lo para obter recursos que nenhum outro dispositivo estava usando.
Uma outra parte importante do Plug and Play é um método padrão para um dispositivo se identificar, o PCI (e possivelmente o ISAPNP) faz provisões para que cada dispositivo tenha um único fornecedor e ID de dispositivo. Isso foi transferido para o USB. Assim, o sistema operacional host pode descobrir "o que" o dispositivo e carregar o driver adequado.
Agora, quando entramos em dispositivos projetados para serem "hot-pluggable", isso é um pouco diferente, mas evidentemente o termo "Plug and Play" ainda é usado para descrevê-lo. A maioria dos dispositivos de conexão automática é "hospedada" por um dispositivo não hotplugável. Dispositivos USB são "hospedados" por um controlador USB, que é um dispositivo PCI que consome um ou mais recursos normalmente atribuídos via Plug and Play. Falar com dispositivos através do barramento USB envolve passar "pelo" controlador USB. Uma situação semelhante existe para dispositivos SCSI, IDE e SATA.
Assim, para hot-pluggability funcionar, o driver para o controlador "host" precisa de um mecanismo para informar aos drivers que representam os dispositivos "acima" do que está acontecendo, ou seja, um driver controlador USB precisa de uma maneira de informar um armazenamento em massa USB driver que o dispositivo foi desconectado. O driver "superior" precisa ter um código que possa ser encerrado corretamente quando for solicitado a ser removido, em vez de esperar permanecer residente até ser reinicializado.
A maioria dos tipos de barramento, como USB, SCSI, SATA, é governada por padrões que os drivers devem reconhecer e implementar.
No nível de hardware, a maioria dos dispositivos de conexão automática é projetada onde parte do conector descarrega eletricidade estática e que os pinos que transportam energia conectam-se uma fração de segundo aos pinos que transportam dados. Observe atentamente os pinos do conector USB e SATA; É por isso que alguns são mais longos que os outros. Os conectores IDE NÃO fazem isso e NÃO são seguros para hotplugging.