Термин Legacy Plug and Play , [1] также сокращается до Legacy PnP , [2] описывает ряд спецификаций и функций Microsoft Windows , ориентированных на настройку устройств в операционной системе, а некоторые идентификаторы устройств назначаются UEFI Forum . [3] Стандарты были в первую очередь нацелены на стандартную шину IBM PC , позже получившую название « Промышленная стандартная архитектура» (ISA) . Соответствующие спецификации также определены для общих внешних или специализированных шин, обычно подключаемых через ISA на момент разработки, включая RS-232 и устройства с параллельным портом .
В качестве функции Windows Plug and Play относится к функциям операционной системы, которые поддерживают подключение, настройку и управление с помощью встроенных устройств Plug and Play. [4] Первоначально считавшаяся частью того же набора функций, что и спецификации, Plug and Play в этом контексте относится в первую очередь к обязанностям и интерфейсам, связанным с разработкой драйверов Windows. [5]
Plug and Play позволяет обнаруживать устройства без вмешательства пользователя, а иногда и выполнять незначительную настройку ресурсов устройства, таких как порты ввода-вывода и карты памяти устройства. PnP — это особый набор стандартов, не путать с общим термином «подключи и работай», который описывает любую спецификацию оборудования, которая устраняет необходимость пользовательской настройки ресурсов устройства. [6]
ACPI является преемником Legacy Plug and Play.
Стандарт Plug and Play требует, чтобы конфигурация устройств обрабатывалась PnP BIOS, который затем предоставляет подробную информацию о выделении ресурсов операционной системе. Процесс вызывается во время загрузки. При первом включении компьютера совместимые устройства идентифицируются и им назначаются неконфликтующие адреса ввода-вывода , номера запросов на прерывания и каналы DMA .
Этот термин был принят Microsoft применительно к их продукту Windows 95 . Другие операционные системы , такие как AmigaOS Autoconfig и система Mac OS NuBus , уже некоторое время поддерживали такие функции (под разными именами или без имени). [7] Даже Yggdrasil Linux рекламировал себя как «Plug and Play Linux» как минимум за два года до Windows 95. Но термин « подключи и работай» постепенно стал универсальным благодаря всемирному признанию Windows.
Обычно устройства, не поддерживающие PnP, необходимо идентифицировать в настройках BIOS компьютера, чтобы система PnP не переназначала эти устройства. Проблемы во взаимодействии между устаревшими устройствами, не поддерживающими PnP, и системой PnP могут привести к ее сбою, в результате чего эта технология исторически называлась «подключи и молись». [2]
Спецификация Legacy Plug and Play была определена Microsoft и Intel , которые предложили внести изменения в устаревшее оборудование, а также в BIOS для поддержки обнаружения устройств с привязкой к операционной системе. Эти роли позже были взяты на себя стандартом ACPI [1] , который также переносит поддержку управления питанием и конфигурацией в операционную систему, в отличие от встроенного ПО, как ранее требовалось в соответствии со спецификациями «Plug and Play BIOS» и APM . Следующие стандарты представляют собой то, что Microsoft называет Legacy Plug and Play, в отличие от собственных спецификаций Plug-and-Play, таких как PCI и USB .
Для Windows Vista требуется ACPI-совместимый BIOS, а ISAPnP по умолчанию отключен. [11]
Для использования Plug and Play необходимо выполнить три требования:
Аппаратному обеспечению Plug-and-Play обычно также требуется какой-то идентификационный код, который оно может предоставить, чтобы компьютерное программное обеспечение могло правильно его идентифицировать.
Эта система идентификационных кодов не была интегрирована в раннее аппаратное обеспечение промышленной стандартной архитектуры (ISA), распространенное в ПК, когда технология Plug and Play была впервые представлена. ISA Plug and Play вызвал некоторые из самых больших трудностей, которые изначально сделали PnP очень ненадежным. Это привело к появлению насмешливого термина «Подключи и молись», поскольку в первые дни адреса ввода-вывода и линии IRQ часто устанавливались неправильно. Более поздние компьютерные шины, такие как MCA , EISA и PCI (которые в то время становились отраслевым стандартом), интегрировали эту функциональность.
Наконец, операционная система компьютера должна иметь возможность обрабатывать эти изменения. Обычно это означает поиск прерываний от шины, сообщающих об изменении конфигурации, а затем чтение информации с шины, чтобы определить, что произошло. Старые конструкции шин часто требовали считывания всей системы, чтобы обнаружить эти изменения, что может отнимать много времени для многих устройств. В более современных конструкциях используется какая-то система, позволяющая либо уменьшить, либо устранить эту «охоту»; например, USB использует для этой цели систему-концентратор.
Когда изменение обнаружено, ОС затем проверяет информацию на устройстве, чтобы выяснить, что это такое. Затем ему необходимо загрузить соответствующие драйверы устройств , чтобы оно заработало. Раньше это был вопрос «все или ничего», но современные операционные системы часто включают возможность найти подходящий драйвер в Интернете и установить его автоматически.