El término Legacy Plug and Play , [1] también abreviado como Legacy PnP , [2] describe una serie de especificaciones y características de Microsoft Windows orientadas a la configuración del sistema operativo de los dispositivos, y algunos identificadores de dispositivos son asignados por el Foro UEFI . [3] Los estándares estaban destinados principalmente al bus estándar de IBM PC , posteriormente denominado Arquitectura estándar de la industria (ISA) . También se definen especificaciones relacionadas para los buses externos o especializados comunes que se conectaban comúnmente a través de ISA en el momento del desarrollo, incluidos los dispositivos de puerto paralelo y RS-232 .
Como característica de Windows, Plug and Play se refiere a la funcionalidad del sistema operativo que admite la conectividad, configuración y administración con dispositivos plug and play nativos. [4] Originalmente considerado parte del mismo conjunto de características que las especificaciones, Plug and Play en este contexto se refiere principalmente a las responsabilidades e interfaces asociadas con el desarrollo de controladores de Windows. [5]
Plug and Play permite la detección de dispositivos sin la intervención del usuario y, ocasionalmente, la configuración menor de los recursos del dispositivo, como los puertos de E/S y los mapas de memoria del dispositivo. PnP es un conjunto específico de estándares, que no debe confundirse con el término genérico plug and play, que describe cualquier especificación de hardware que alivia la necesidad de que el usuario configure los recursos del dispositivo. [6]
ACPI es el sucesor de Legacy Plug and Play.
El estándar Plug and Play requiere que la configuración de los dispositivos sea manejada por el BIOS PnP, que luego proporciona detalles de las asignaciones de recursos al sistema operativo. El proceso se invoca en el momento del arranque. Cuando se enciende la computadora por primera vez, se identifican los dispositivos compatibles y se les asignan direcciones de E/S no conflictivas , números de solicitud de interrupción y canales DMA .
El término fue adoptado por Microsoft en referencia a su producto Windows 95. Otros sistemas operativos , como AmigaOS Autoconfig y el sistema Mac OS NuBus , ya habían soportado tales características durante algún tiempo (bajo varios nombres, o sin nombre). [7] Incluso Yggdrasil Linux se promocionó como "Plug and Play Linux" al menos dos años antes de Windows 95. Pero el término plug and play gradualmente se volvió universal debido a la aceptación mundial de Windows.
Por lo general, los dispositivos que no son PnP deben identificarse en la configuración BIOS de la computadora para que el sistema PnP no asigne a otros dispositivos los recursos que utilizan los dispositivos que no son PnP. Los problemas en las interacciones entre los dispositivos que no son PnP heredados y el sistema PnP pueden provocar que falle, lo que ha llevado a que esta tecnología se haya denominado históricamente "plug and pray" (conectar y usar). [2]
La especificación Plug and Play heredada fue definida por Microsoft e Intel , que propusieron cambios en el hardware heredado, así como en el BIOS, para admitir el descubrimiento de dispositivos vinculado al sistema operativo. Estas funciones fueron asumidas más tarde por el estándar ACPI , [1] que también traslada el soporte para la administración y configuración de energía al sistema operativo, en lugar del firmware como lo requerían anteriormente las especificaciones "Plug and Play BIOS" y APM . Los siguientes estándares componen lo que Microsoft describe como Plug and Play heredado, en oposición a las especificaciones Plug-and-Play nativas como PCI y USB .
Windows Vista requiere un BIOS compatible con ACPI y el ISAPnP está deshabilitado de forma predeterminada. [11]
Para poder utilizar Plug and Play se deben cumplir tres requisitos:
El hardware plug-and-play normalmente también requiere algún tipo de código de identificación que pueda proporcionar para que el software de la computadora lo identifique correctamente. El ID de plug-and-play puede tener dos formatos: ID de fabricante de 3 bytes más un número hexadecimal de 2 bytes (por ejemplo, PNP0A08) o ID de fabricante de 4 bytes más un número hexadecimal de 2 bytes (por ejemplo, MSFT0101). [12] Además, un dispositivo PnP puede tener un código de clase y un ID de subsistema. [13]
Este sistema de código de identificación no estaba integrado en el hardware de la arquitectura estándar de la industria (ISA) común en las PC cuando se introdujo por primera vez el plug and play. El plug and play de ISA causó algunas de las mayores dificultades que hicieron que el PnP fuera inicialmente muy poco confiable. Esto llevó al término despectivo "Plug and Pray", ya que las direcciones de E/S y las líneas IRQ a menudo se configuraban incorrectamente en los primeros días. Los buses de computadora posteriores como MCA , EISA y PCI (que se estaba convirtiendo en el estándar de la industria en ese momento) integraron esta funcionalidad.
Por último, el sistema operativo del ordenador debe ser capaz de gestionar estos cambios. Normalmente, esto implica buscar interrupciones del bus que indiquen que la configuración ha cambiado y, a continuación, leer la información del bus para localizar lo que ha ocurrido. Los diseños de bus más antiguos solían requerir que se leyera todo el sistema para localizar estos cambios, lo que puede llevar mucho tiempo para muchos dispositivos. Los diseños más modernos utilizan algún tipo de sistema para reducir o eliminar esta "búsqueda"; por ejemplo, USB utiliza un sistema de concentrador para este fin.
Cuando se encuentra el cambio, el sistema operativo examina la información del dispositivo para averiguar cuál es. Luego tiene que cargar los controladores de dispositivo adecuados para que funcione. En el pasado, esto era una cuestión de todo o nada, pero los sistemas operativos modernos a menudo incluyen la capacidad de encontrar el controlador adecuado en Internet e instalarlo automáticamente.
Plug-n-Play SECS/GEM para equipos antiguos