Plug and Play

Технология 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 представлена ниже.

    Отключение всех настраиваемых устройств системной платы или внешних адаптеров.

    Идентификация устройства РпР, подключенных к шинам PCI или ISA.

      Создание начальной карты распределения ресурсов для портов, линий запроса прерываний (IRQ), каналов прямого доступа к памяти (DMA) и оперативной памяти.

    Включение устройства ввода-вывода.

    Сканирование ROM устройств, подключенных к шине ISA.

      Настройка устройств начальной программной загрузки (initial program-load – IPL), используемых для загрузки системы.

Технология 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, необходимые для обеспечения поддержки 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 решает следующие задачи.

Расширение существующей в 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), которая поддерживает также управление подачей электропитания и другие новые возможности, которые могут конфигурироваться и управляться операционной системой.

Кроме спецификации ACPI существуют и другие промышленные стандарты, например, Universal Serial Bus, Version 1.0, PCI Local Bus Specification, Revision 2.1 и PCMCIA.

Основная цель реализации Plug and Play ≈ дальнейшее развитие промышленной инициативы, направленной на упрощение работы с персональными компьютерами для конечных пользователей. Кроме того, Plug and Play в Windows 2000 решает следующие задачи:

    Расширение существующей в Windows NT инфраструктуры ввода / вывода так, чтобы она поддерживала Plug and Play и управление электропитанием при одновременной поддержке промышленных стандартов на аппаратные средства Plug and Play.

    Разработка общих интерфейсов драйверов, которые поддерживают Plug and Play и управление питанием для множества классов устройств под управлением Windows 2000 и Windows 98.

    Оптимизация поддержки Rug and Play для самых разнотипных компьютеров ≈ портативных, настольных рабочих станций и серверов, имеющих системные платы ACPI. В дополнение к сказанному, поддержка драйверов устройств Plug and Play для различных классов устройств обеспечивается моделью драйвера Microsoft Win32 (Microsoft Win32╝ Driver Model, WDM), которая поддерживает также управление подачей электропитания и другие новые возможности, которые могут конфигурироваться и управляться операционной системой

Спецификация LPТ Plug and Play 1.0, разработанная Microsoft, определяет метод, по которому устройства, связанные с параллельным портом идентифицируют себя в Plug and Play BIOS. Принтеры, модемы, сетевые адаптеры и параллельные порты адаптеров SCSI принадлежат к устройствам, определяемым Plug and Play – спецификацией LPT. Если вы подсоедините Hewlett Packard LaserJet 4M к параллельному порту вашего компьютера, то Chicago найдет драйвер для принтера и автоматически его загрузит.

Спецификация COM Plug and Play 0.94, разработанная Microsoft и Hayes Microcomputer Products, определяет как устройства, подключенные к последовательным портам, такие как мыши, модемы, принтеры и источники бесперебойного питания, идентифицируют себя. Обычно Chicago определяет тип установленных мыши и модема даже без идентификации Plug and Play.

Спецификация АРМ Plug and Play 1.1, разработанная Microsoft и Intel, обрабатывает АРМ (advanced power management – система управления питанием) для портативных компьютеров и энергетически критичных стационарных компьютеров.

Спецификация интерфейса драйверов устройств Plug and Play для Microsoft Windows и MS-DOS 1.0с, разработанная Microsoft, дает ограниченную поддержку Plug and Play для присваивания I/O, IRQ, DMA и областей памяти под DOS и Windows3.1+.

В дополнение к спецификациям предыдущего списка спецификация ATAPI определяет процесс идентификации для Plug and Play совместимых CD-ROM, которые присоединяются к расширенному интерфейсу IDE, удовлетворяющего стандарту Plug and Play. Спецификация ESCD (Extended System Configuration Data) 1.0 разработана для предоставления дополнительной информации об адаптерах ISA и EISA в Plug and Play BIOS.

Наиболее важным элементом системы Plug and Play компьютера является системный Plug and Play BIOS. Спецификация BIOS Plug and Play 1.0а добавляет следующие три новых главных компонента к обычному BIOS:

Управление ресурсами обрабатывает основные системные ресурсы: память прямого доступа (DMA), запросы прерываний (IRQ), ввод / вывод (I/O) и адреса памяти. Эти системные ресурсы разделяются различными устройствами, что и приводит к конфликтам. Диспетчер ресурсов Plug and Play BIOS отвечает за конфигурирование загрузочных устройств на материнской плате, а также любых устройств Plug and Play.

Управление конфигурацией во время выполнения является новым для РС. Plug and Play BIOS включает в себя возможность реконфигурации устройств после загрузки операционной системы. Это средство особенно важно для портативных компьютеров с устройствами PCMCIA, которые можно заменять, не выключая компьютер. Ранее операционная система рассматривала все устройства, отмеченные BIOS, как статические; это требовало перезагрузки портативного компьютера после замены устройства PCMCIA.

Управление событием определяет во время работы компьютера, когда устройство удалено или добавлено к системе. Plug and Play BIOS 1.0а предоставляет управление событием только для устройства PCMCIA портативных компьютеров, так как горячая замена адаптеров стационарных компьютеров не является безопасной. Управление событием связано с управление во время выполнения для реконфигурирования системы.

Phoenix Technologies, один из соавторов спецификации BIOS Plug and Play 1.0, является независимым поставщиком системного программного обеспечения РС, BIOS ROM, BIOS утилит. По словам Альберта Сарье (Albert Sarie), главного менеджера по рынку высоких технологий Phoenix Technologies, Phoenix имеет 65% неохваченного рынка этих системных продуктов для РС. (Compaq и IBM разработали свой собственный BIOS). Сарье говорит, что все клиенты Phoenix Technologies планируют Plug and Play BIOS в своих линиях компьютеров. Единственные компьютеры, которые, в конечном счете, не могут воплотить технологию Plug and Play, – это сверхмощные системы, используемые в качестве сетевых файл-серверов и серверов приложений.

Если в вашем компьютере отсутствует чип BIOS ROM, который отвечает требованиям спецификации BIOS Plug and Play 1.0а, то вы, возможно, не получите удовольствия от Plug and Play. Исключения возможны, если:

Ваш компьютер имеет флеш BIOS, который вы можете модернизировать с дискеты поставщика компьютера или материнской платы. Флеш BIOS является чипом NVRAM, который сохраняет инструкции BIOS при выключении питания.

Поставщик вашего компьютера предлагает набор для модернизации BIOS Plug and Play 1.0а. В этом случае вы просто вынимаете существующий BIOS и ставите замену.

Если ваш поставщик ничего из этого не предлагает, то для получения выгоды от использования технологии Plug and Play вам необходимо заменить материнскую плату.

Когда вы включаете компьютер, соответствующий стандарту Plug and Play, то выполняются следующие 5 шагов:

Системный BIOS идентифицирует устройство на материнской плате (включая тип шины), а также внешние устройства, такие как диски, клавиатуру, видеодисплей и другие адаптеры.

Системный BIOS определяет требования ресурсов каждого устройства (IRQ, DMA, I/O и адреса памяти). Некоторые устройства не требуют всех этих четырех ресурсов. На этом шаге системный BIOS определяет, какие из устройств имеют фиксированные значения ресурсов, а какие являются устройствами Plug and Play, чьи значения ресурсов могут быть реконфигурированы.

Операционная система Chicago предоставляет ресурсы, остающиеся после размещения фиксированных ресурсов, каждому устройству Plug and Play. Если имеется несколько различных устройств, то может потребоваться много итераций процесса размещения ресурсов для исключения всех ресурсных конфликтов путем изменения ресурсных присваиваний устройства Plug and Play.

Chicago создает конечную системную конфигурацию и сохраняет данные размещения ресурсов для этой конфигурации в регистре (Registry).

Chicago отыскивает каталог CHICAGO\SYSTEMS\ для того, чтобы найти требуемые для устройства драйверы. Если драйвер устройства не найден, то появляется диалоговое окно с требованием поставить дискету изготовителя с драйвером в дисковод А. Chicago загружает драйвер в память и затем заканчивает начальные операции

В настоящее время большеформатные дисплеи высокого разрешения широко используются в различных приложениях: это визуализация результатов научных исследований, сфера развлечений, фотореалистичные панорамные экраны для коллективного просмотра, системы виртуальной реальности, тренажеры. Традиционный путь для реализации таких дисплеев – использование мультипроекторных систем, формирующих одно общее «бесшовное» изображение. Однако установка и настройка таких систем до недавнего времени требовали использования труда высококвалифицированных специалистов и огромной трудоемкости при ручной настройке. В последние годы был предложен ряд новых решений на базе технологии компьютерного зрения для автоматизации стыковки как геометрии, так и цветовой палитры составных изображений в мультипроекторных дисплейных системах. Была разработана архитектура Plug&Play с автоматической калибровкой проекторов за счет использования видеокамер и компьютерной коррекции проецируемых изображений. Новая технология позволяет до предела упростить процесс установки и полностью автоматизировать калибровку проекционного оборудования без вмешательства квалифицированного оператора.