Los requisitos para Plug and Play

Los requisitos para Plug and Play

Plug and Play puede ayudarnos a descubrir un componente de hardware en un sistema sin necesidad de una configuración física o intervención del usuario para resolver conflictos de recursos.

Pero me pregunto: ¿existen requisitos especiales de hardware y/o software para permitir que funcione Plug and Play? Tomemos un ejemplo de USB; ¿Existe algún requisito para las memorias USB o los discos USB para poder utilizar los controladores estándar de Microsoft?

Respuesta1

"Plug and Play" es un término específico de Windows que originalmente significaba el método más tarde ISA y luego los dispositivos PCI permitían al sistema operativo elegir los recursos que consumían. El BIOS también podría hacer esto para DOS, o hacerse a un lado y dejar que Windows lo haga por completo.

Los recursos son A) direcciones de memoria, B) direcciones de E/S, C) IRQ y/o D) canales DMA. Un dispositivo puede utilizar cada uno, varios o todos ellos para comunicarse con la CPU.

Originalmente, un controlador "Plug and Play" era un controlador que podía entender cómo inicializar el dispositivo, es decir, configurarlo para que tomara recursos que ningún otro dispositivo estaba usando.

Otra parte importante de Plug and Play es un método estándar para que un dispositivo se identifique. PCI (y posiblemente ISAPNP) prevé que cada dispositivo tenga un proveedor y una identificación de dispositivo únicos. Esto se transfirió al USB. De esta manera, el sistema operativo host puede descubrir "qué" es el dispositivo y cargar el controlador adecuado.

Ahora, cuando nos adentramos en dispositivos que están diseñados para ser "conectables en caliente", eso es ligeramente diferente, pero evidentemente el término "Plug and Play" todavía se usa para describirlo. La mayoría de los dispositivos conectables en caliente están "alojados" en un dispositivo que no se puede conectar en caliente. Los dispositivos USB están "alojados" por un controlador USB, que en sí mismo es un dispositivo PCI que consume uno o más recursos generalmente asignados mediante Plug and Play. Hablar con dispositivos a través del bus USB implica pasar "a través" del controlador USB. Existe una situación similar para dispositivos SCSI, IDE y SATA.

Entonces, para que funcione la capacidad de conexión en caliente, el controlador del controlador "host" necesita un mecanismo para decirle a los controladores que representan los dispositivos "sobre" lo que está sucediendo, es decir, un controlador de controlador USB necesita una manera de decirle a un controlador de almacenamiento masivo USB que el El dispositivo ha sido desconectado. El controlador "superior" debe tener un código que pueda finalizar limpiamente cuando se solicite su eliminación, en lugar de esperar que permanezca residente hasta que se reinicie.

La mayoría de los tipos de bus, como USB, SCSI y SATA, se rigen por estándares que los controladores deben reconocer e implementar.

A nivel de hardware, la mayoría de los dispositivos conectables en caliente están diseñados donde parte del conector descarga electricidad estática y los pines que transportan energía se conectan una fracción de segundo antes que los pines que transportan datos. Mire de cerca los pines de los conectores USB y SATA; por eso algunos son más largos que otros. Los conectores IDE NO hacen esto y NO son seguros para la conexión en caliente.

Respuesta2

Toda la "magia" plug & play tiene, que yo sepa, sólo dos partes centrales esenciales:

  • El software debe poder identificar que se ha conectado algún hardware nuevo (parte del estándar USB, por ejemplo).
  • Se puede identificar el hardware. Mediante una solicitud especial (sin utilizar controladores específicos del proveedor), se puede recuperar una identificación única (que generalmente consta de una identificación del proveedor y una identificación del dispositivo/hardware). El sistema operativo puede usarlos para identificar la pieza de hardware específica e instalar los controladores correctos sin preguntarle primero al usuario.
  • (Opcional:) Lo ideal es que el hardware y el software (controladores) funcionen sin necesidad de reiniciar.

Para trabajar con los controladores estándar proporcionados, el hardware debe implementar las reacciones correctas a los comandos que se envían (es decir, el hardware debe hablar el "idioma" correcto). Dependiendo del tipo de hardware, esto suele estar estandarizado (p. ej.Dispositivos de almacenamiento masivo USB).

información relacionada