Технология PnP (Plug and Play – включи и работай) стала настоящей революцией в мире компьютерных интерфейсов. Впервые эта технология появилась на рынке в 1995 году и получила поддержку в большинстве компьютеров уже к 1996 году. До РпР при добавлении в систему нового устройства от пользователя требовалась настройка переключателей DIP и перемычек непосредственно на плате устройства или работа с конфигурационными программами. Зачастую это приводило к возникновению конфликта системных ресурсов, и устройство отказывалось функционировать.
Технология РпР не была абсолютно новой – она использовалась в виде одного из ключевых компонентов шин МСЛ и EISA еще в 1985 году, однако шины EISA и МСА так и не стали промышленными стандартами. Большинству пользователей ПК приходилось интересоваться адресами портов ввода-вывода, каналами DMA и параметрами IRQ. В ранних системах, основанных на шине PCI, использовалась определенная разновидность РпР, однако отсутствие механизмов устранения конфликтов между шинами PCI и ISA приводило к возникновению множества проблем. В настоящее время, с повсеместным распространением РпР, настройка установленного аппаратного обеспечения проводится автоматически. Технология РпР имеет особое значение для интерфейсов с поддержкой «горячей» замены устройств, которые часто применяются в ноутбуках. В частности, речь идет об интерфейсах PC Card/CardBus, USB и FireWire.
Для полноценного функционирования РпР требуется, чтобы поддержка этой технологии была реализована в аппаратном обеспечении, BIOS и операционной системе.
Каждый из этих компонентов должен соответствовать спецификации РпР.
Аппаратное обеспечение
Под аппаратным обеспечением подразумевается компьютер и платы адаптеров. Это не значит, что в системе, поддерживающей РпР, нельзя использовать адаптеры для шины ISA. Система BIOS автоматически назначит адаптерам, поддерживающим РпР, ресурсы, не запятые адаптерами ISA. Кроме того, некоторые последние модели адаптеров для шины ISA могут быть переключены в режим совместимости РпР.
Платы адаптеров РпР взаимодействуют с BIOS и операционной системой для предоставления информации о необходимых ресурсах. В свою очередь, BIOS и операционная система обеспечивают решение программных конфликтов (если это возможно) и передают платам адаптеров сведения о ресурсах, которые можно использовать. Затем адаптер может изменить внутренние параметры для применения выделенных ресу|х:ов.
Система BIOS
Пользователям компьютеров, произведенных до 1996 года, следует обновить BIOS или приобрести новые компьютеры, оснащенные PnP BIOS. Спецификация РпР BIOS была совместно разработана компаниями Compaq, Intel и Phoenix Technologies.
Возможности РпР реализуются в BIOS через расширения процедуры POST. Система BIOS отвечает за идентификацию, локализацию и возможное конфигурирование адаптеров, поддерживающих РпР. Последовательность операций BIOS представлена ниже.
1. Отключение всех настраиваемых устройств системной платы или внешних адаптеров.
2. Идентификация устройства РпР, подключенных к шинам PCI или ISA.
1. Создание начальной карты распределения ресурсов для портов, линий запроса прерываний (IRQ), каналов прямого доступа к памяти (DMA) и оперативной памяти.
3. Включение устройства ввода-вывода.
4. Сканирование ROM устройств, подключенных к шине ISA.
1. Настройка устройств начальной программной загрузки (initial program-load – IPL), используемых для загрузки системы.
Технология Plug and Play
1. Включение настраиваемых устройств с предоставлением им информации о назначенных ресурсах.
2. Запуск загрузчика операционной системы.
3. Передача управления загрузкой операционной системы
Впервые поддержка 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, необходимые для обеспечения поддержки Plugand 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 решает следующие задачи.