Эволюция технологии Plug and Play
Впервые поддержка Plug and Play была включена в состав операционной системы Windows 95. Однако с тех пор технологии Plug and Play существенно изменились и прошли достаточно долгий путь развития. В значительной степени эта эволюция является результатом технической инициативы OnNow, которая представляла собой попытку определить в масштабах всей системы универсальный подход к управлению конфигурацией системы и устройств, а также к управлению электропитанием. Одним из результатов инициативы OnNow является спецификация ACPI 1.0 (Advanced Configuration and Power Interface Version 1.0), которая определяет новый интерфейс между системной платой и BIOS, расширяющий данные Plug and Play путем включения управления электропитанием и других конфигурационных возможностей, осуществляемых под контролем операционной системы.
В отличие от поддержки Plug and Play в Windows 95, реализация Plug and Play в Windows 2000/XP и продуктах из семейства Windows Server 2003 базируется не на Advanced Power Management (АРМ) BIOS или Plug and Play BIOS. Эти две реализации BIOS были разработаны для Windows 95 и, как ранние попытки обеспечения поддержки Plug and Play и управления электропитанием, они поддерживаются в Windows 98 для обеспечения обратной совместимости. Фактическая поддержка Plug and Play и управления электропитанием обеспечиваются в Windows 2000/XP и продуктах из семейства Windows Server 2003 Server интерфейсом ACPI.
Технология Plug and Play требует комбинированного взаимодействия BIOS персонального компьютера, его аппаратных компонентов, драйверов устройств и операционной системы. Основные требования к реализации системной платы и поддержке BIOS, необходимые для обеспечения поддержки Plug and Play в Windows 2000, Windows XP и Windows Server 2003, определены в спецификации ACPI. Новейшие версии операционных систем из семейства Windows используют эту спецификацию как основу для построения их архитектуры Plug and Play в соответствии с требованиями инициативы OnNow.
Спецификация ACPI определяет новый интерфейс между операционной системой и компонентами компьютера, обеспечивающими поддержку Plug and Play и управления электропитанием. Обратите внимание, что методы, определенные в ACPI, не зависят от конкретной операционной системы или типа процессора. ACPI определяет интерфейс на уровне регистров для базовых функций Plug and Play и управления электропитанием, а также определяет описательный интерфейс для дополнительных аппаратных возможностей. Это позволяет разработчикам реализовать целый диапазон функций Plug and Play и управления электропитанием для самых разных аппаратных платформ при использовании одного и того же драйвера операционной системы. Помимо этого, ACPI предоставляет общий механизм системных событий для Plug and Play и управления электропитанием.
Некоторые типы системных BIOS, декларируемые их поставщиками как соответствующие спецификации ACPI, могут вызвать проблемы с установкой Windows 2000/XP или Windows Server 2003. Иногда они также могут послужить причиной периодических ошибок ядра (ошибок STOP, известных также под названием "синих экранов смерти") уже после установки операционной системы. С целью минимизации вероятности возникновения таких ситуаций разработчики Microsoft включили в программу установки ОС специальные функциональные возможности, позволяющие блокировать или активизировать поддержку ACPI на основании следующих критериев.
- Принадлежность BIOS к списку совместимых BIOS (Good BIOS List). Этот список используется для активизации режима поддержки ACPI для некоторых типов системной BIOS с датой выпуска до 01/01/1999. Если системная BIOS, обнаруженная на компьютере, указана в этом списке, то режим ACPI будет активизирован. Поскольку дата 01/01/1999 уже истекла, Microsoft больше не добавляет новых записей в список "хороших" BIOS.
- Принадлежность к списку несовместимых BIOS (Incompatible BIOS list). Этот список используется для блокировки режима ACPI для некоторых BIOS с датой выпуска 01/01/1999 или более поздней. BIOS добавляются в этот список в том случае, если группа тестеров Microsoft или сами разработчики BIOS выясняют, что режим ACPI вызывает проблемы со стабильностью Windows. Это означает, что система не прошла тест на аппаратную совместимость ACPI (ACPI Hardware Compatibility Test, HCT), не загружается или не обеспечивает необходимого минимума функциональных возможностей. Список несовместимых BIOS (ACPI HCT) можно найти по следующему адресу: http://www.microsoft.com/hwdev/acpihct.htm.
Если системная BIOS не присутствует ни в одном из этих списков, объявляет себя как соответствующую спецификации ACPI и имеет дату не ранее 01/01/1999, то режим ACPI будет активизирован. Операционная система использует стандартную дату РС-АТ, которая находится по адресу F000:FFF5.
Если программа Windows Server 2003 Setup, проверяя систему перед установкой Windows, обнаруживает, что системная BIOS находится в списке несовместимых ACPI BIOS, то режим ACPI блокируется. Чтобы в полном объеме гарантировать функциональные возможности Plug and Play и управления электропитанием при использовании Windows 2000/XP или Windows Server 2003, BIOS необходимо обновить. Подробную информацию об этом можно получить по адресу: http://www.Hardware-Update.com.
В отличие от систем на базе процессоров Intel Itanium, которые всегда являются ACPI-совместимыми, для систем на базе процессоров х86 способ взаимодействия устройств Plug and Play с системной BIOS имеет очень важное значение. В некоторых системах программа BIOS Setup предоставляет опцию Enable Plug and Play operating system, которая влияет на способ этого взаимодействия. Строго говоря, эта опция указывает, какой из компонентов управляет аппаратными средствами компьютера – системная BIOS или же операционная система. Если ваша система не является ACPI-совместимой, то эту опцию рекомендуется блокировать, установив для нее значение No/Disabled.
Кроме того, Microsoft рекомендует блокировать эту опцию, если вы имеете систему с двойной загрузкой, где вторая операционная система – Windows 98/ME, особенно если тест Plug and Play на соответствие ACPI проходит в Windows 98/ME (BIOS определяется как ACPI BIOS), но не проходит в Windows XP или Windows Server 2003. Если ваша система полностью совместима с ACPI (это означает, что в ней присутствует ACPI BIOS и установлен ACPI HAL), то назначение ресурсов аппаратным устройствам выполняет не BIOS, а операционная система. Параметры, установленные через программу BIOS Setup, включая и опцию Enable Plug and Play operating system, при этом игнорируются.
Кроме спецификации ACPI, существуют и другие промышленные стандарты, например, Universal Serial Bus, Version 1.0, PCI Local Bus Specification, Revision 2.1 и PCMCIA.
Основная цель реализации Plug and Play – дальнейшее развитие промышленной инициативы, направленной на упрощение работы с персональными компьютерами для конечных пользователей. Кроме того, Plug and Play в Windows 2000, Windows XP и Windows Server 2003 решает следующие задачи.
- Расширение существующей в Windows NT инфраструктуры ввода/вывода так, чтобы она поддерживала Plug and Play и управление электропитанием при одновременной поддержке промышленных стандартов на аппаратные средства Plug and Play.
- Разработка общих интерфейсов драйверов, которые поддерживают Plug and Play и управление питанием для множества классов устройств под управлением Windows 2000/XP, Windows Server 2003 и Windows 98/ME.
- Оптимизация поддержки Plug and Play для самых разнотипных компьютеров – портативных, настольных рабочих станций и серверов, имеющих системные платы ACPI. В дополнение к сказанному, поддержка драйверов устройств Plug and Play для различных классов устройств обеспечивается моделью драйвера Microsoft Win32 (Microsoft Win32 Driver Model, WDM), которая поддерживает также управление подачей электропитания и другие новые возможности, которые могут конфигурироваться и управляться операционной системой.