MS Windows 2003 - серверная операционная система

         

Аппаратные профили



Аппаратные профили


Как и предыдущие системы Windows NT/2000/XP, Windows Server 2003 обеспечивает возможность создания множества аппаратных конфигураций, которые хранятся в реестре. Так, например, можно создать профили для док-станций (что актуально для пользователей портативных компьютеров), а также профили для съемных устройств. Аппаратный профиль, или профиль оборудования (hardware profile), представляет собой набор инструкций, с помощью которого можно указать операционной системе, драйверы каких устройств должны загружаться при запуске компьютера. Чтобы создать новый аппаратный профиль в Windows Server 2003, щелкните по значку System на панели управления, перейдите на вкладку Hardware и нажмите кнопку Hardware Profiles (Профили оборудования). Раскроется диалоговое окно Hardware Profiles (Рисунок 2.18).
В процессе установки Windows Server 2003 создается аппаратный профиль по умолчанию (Profile 1), в состав которого включены все устройства, обнаруженные на компьютере на момент установки операционной системы.

Принципы создания аппаратных профилей для настольных и портативных компьютеров несколько различны. Как уже говорилось в главе 1 "Планирование и установка системы", в процессе установки ОС производится обнаружение и распознавание всех аппаратных устройств, установленных на компьютере (вспомните сообщение Setup is inspecting your computer's hardware configuration . .., свидетельствующее о запуске программы Setup). Для настольных компьютеров создается один аппаратный профиль по умолчанию (Default hardware profile), включающий в свой состав все аппаратные компоненты, обнаруженные при установке системы. Для портативных компьютеров программа установки создает два аппаратных профиля по умолчанию (Docked Profile и Undocked Profile) и выбирает нужный профиль в зависимости от того, используется ли портативный компьютер в качестве док-станции или независимо. Хотя поддержка Plug and Play в значительной степени исключает необходимость ручного создания и конфигурирования аппаратных профилей, они все же могут быть весьма полезны.



Архитектура Plug and Play в Windows



Рисунок 2.3. Архитектура Plug and Play в Windows 2000/XP и Windows Server 2003
















и Windows Server 2003 обеспечивает



Архитектура Plug and Play в Windows Server 2003


Ядро операционных систем Windows 2000/XP и Windows Server 2003 обеспечивает поддержку Plug and Play в процессе загрузки и предоставляет интерфейсы для взаимодействия с такими компонентами операционной системы, как уровень аппаратных абстракций (HAL), исполняющая подсистема (модуль Executive) и драйверы устройств (Рисунок 2.3). Функции режима пользователя взаимодействуют с функциями режима ядра, обеспечивая возможности динамической конфигурации и интерфейса с остальными компонентами, которые должны поддерживать Plug and Play, например, с программой Setup и приложениями Control Panel.
Следующие разделы подробно описывают модули Plug and Play.


Дерево устройств отображаемых



Рисунок 2.19. Дерево устройств, отображаемых диспетчером устройств (просмотр устройств по типу)


Чтобы просмотреть параметры устройства, выполнить его ручное конфигурирование, обновить драйвер, блокировать или переустановить устройство, а также выполнить сканирование изменений аппаратной конфигурации, укажите на нужное устройство курсором, выполните щелчок правой кнопкой мыши и выберите соответствующую команду из контекстного меню (см. Рисунок 2.19).
Для просмотра информации о конкретном устройстве разверните иерархическое дерево, укажите курсором на нужное устройство, выполните щелчок правой кнопкой мыши и выберите из контекстного меню команду Properties (Свойства). Утилиту Device Manager можно использовать для активизации и блокирования устройств, для устранения неполадок в их работе, ручного конфигурирования выделяемых устройствам аппаратных ресурсов, обновления или отката драйверов (Driver Rollback). Опция отката драйверов впервые появилась в составе Windows XP (и, безусловно, присутствует и Windows Server 2003), представляет собой дополнительное средство по обеспечению надежности и отказоустойчивости системы, которое будет более подробно рассмотрено в главе 23 "Восстановление системы".



Функция Shutdown Event Tracker



Рисунок 2.1. Функция Shutdown Event Tracker позволяет вести строгий учет всех событий, в результате которых потребовалась перезагрузка сервера



 Улучшенная поддержка нескольких мониторов (технология DualView). Несмотря на то, что поддержка множества мониторов не является новой для Windows (впервые она была введена в Windows 98, и в существенно улучшенном виде присутствует в Windows 2000), в Windows XP она получила дальнейшее развитие за счет реализации технологии, известной как DualView. За счет этого Windows XP и Windows Server 2003 предоставляют дополнительные опции по конфигурированию множества мониторов как для портативных, так и для настольных компьютеров. Технология DualView представляет собой функциональное расширение встроенной поддержки множества мониторов, имеющейся в Windows 98, Windows ME и Windows 2000.  За счет улучшенного управления электропитанием и энергосберегающими режимами существенно повышена производительность системы. Так, например, введены функции быстрой загрузки (Fast Boot), улучшенная поддержка BIOS, а также усовершенствования в работе с "ждущим" (Standby) и "спящим" (Hibernation) режимами.  Усовершенствования технологии Plug and Play в Windows XP и Windows Server 2003 более чем на 90 процентов сократили количество перезагрузок системы, необходимых для проведения плановых работ. Более того, появившаяся функциональная возможность Shutdown Event Tracker позволяет вести строгий учет всех выполняемых перезагрузок (Рисунок 2.1). Более подробно эта функция будет рассмотрена в главе 23 "Восстановление системы".




I/O Manager



I/O Manager


Диспетчер ввода/вывода (I/O Manager) обеспечивает базовые сервисы для драйверов устройств. Диспетчер ввода/вывода представляет собой компонент режима ядра, который выполняет трансляцию команд чтения и записи режима пользователя в соответствующие IRP. Помимо этого, диспетчер ввода/вывода управляет всеми остальными основными IRP операционной системы. Эти интерфейсы работают точно так же, как они работали в операционной системе Windows NT 4.0. Обратите внимание, что поскольку диспетчер ввода/вывода имеется и в Windows NT 4.0, и в Windows 2000/XP/ Server 2003, драйвер Plug and Play может устанавливаться вручную в Windows NT 4.0 и может функционировать как драйвер Plug and Play в Windows 2000/XP/Server 2003.

Начиная с Windows XP, подсистема ввода/вывода была усовершенствована за счет введения новых интерфейсов прикладного программирования (API), которые должны быть доступны драйверам устройств в соответствии с требованиями программы Windows Logo. Драйверы устройств, разработанные специально для Windows XP и Windows Server 2003, за счет использования этих API смогут в полной мере реализовать преимущества, предоставляемые такими новыми возможностями, как Volume Snadow Copy Service (более подробно о них пойдет речь в главе 23 "Восстановление системы"). Наряду с этим, Windows XP и Windows Server 2003 обеспечивают полную обратную совместимость с драйверами, разработанными для Windows 2000. Таким образом, драйвер, который подходил для использования в Windows 2000, практически наверняка будет работать и в Windows XP и Windows Server 2003. Несмотря на это, Microsoft настоятельно рекомендует проверять, не существует ли для вашего устройства драйверов, разработанных специально для более новых версий операционной системы (чтобы получить обновленный драйвер, обратитесь к поставщику устройства или посетите сайт Windows Update).




Интерфейс WDM для Plug and Play



Интерфейс WDM для Plug and Play


Система ввода/вывода предоставляет уровневую архитектуру драйверов. В данном разделе обсуждаются типы драйверов WDM, уровни драйверов и объекты устройств. Более подробную информацию по данному вопросу можно найти в файлах сопроводительной документации к последней версии Windows DDK.




Эволюция технологии Plug and Play



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




Компоненты Plug and Play в режиме пользователя



Компоненты Plug and Play в режиме пользователя


В Windows 2000/XP и Windows Server 2003 API-интерфейсы режима пользователя для управления устройствами и их конфигурирования в среде Plug and Play представляют собой 32-разрядные расширенные версии, базирующиеся на API Configuration Manager для Windows 95. В Windows 95 Configuration Manager представляет собой виртуальный драйвер устройства (VxD), который предоставляет эти процедуры в качестве сервисов компонентам, работающим в кольцах защиты 0 и 3.
Начиная с Windows 2000, эти процедуры расширяют функциональные возможности компонента Plug and Play Manager режима пользователя и представляют собой API-интерфейсы режима пользователя. Драйверы устанавливаются программой Setup. 32-разрядные API-интерфейсы инсталляции устройств, используемые программой Setup, представляют собой надмножество процедур инсталляции Windows 95.
Wiridows 2000, Windows XP и Windows Server 2003 предоставляют API, которые приложения могут использовать для индивидуального управления аппаратными событиями и для создания новых аппаратных событий.




Конфигурирование аппаратных средств и работа с ними



Конфигурирование аппаратных средств и работа с ними


Основные задачи по конфигурированию аппаратных средств и устранению неполадок в их работе выполняется на вкладке Hardware (Оборудование) окна System Properties (Свойства системы). Чтобы открыть это окно, воспользуйтесь значком System на панели управления и в раскрывшемся окне System Properties перейдите на вкладку Hardware (Рисунок 2.17).



Мастер Add Hardware Wizard предлагает



Рисунок 2.8. Мастер Add Hardware Wizard предлагает выбрать тип устанавливаемого устройства из списка












Мастер Found New Hardware Wizard



Рисунок 2.12. Мастер Found New Hardware Wizard предлагает пользователю установить драйверы для портативного накопителя Ziv







Рисунок 2.13. Мастер Found New Hardware Wizard создает список драйверов, которые можно использовать с обнаруженным новым устройством













Обнаружение и распознавание устройств Plug and Play



Обнаружение и распознавание устройств Plug and Play


В начале этой главы мы уже рассматривали пример, позволяющий получить общее представление о процессах, которые происходят в системе при установке новых устройств и разрешении аппаратных конфликтов. Однако этот пример имеет два существенных недостатка — он слишком прост и, самое главное, представляет информацию с точки зрения конечного пользователя. Теперь, когда мы ознакомились с основными концепциями Plug and Play, настало время обсудить, что же на самом деле происходит в системе при обнаружении и установке новых устройств, и какие компоненты требуются для успешного выполнения этой задачи.
Фактически подсистема Plug and Play выполняет следующие функции:
обнаружение и энумерация устройств;  выделение устройствам аппаратных ресурсов;  динамическая загрузка, инициализация и выгрузка драйверов;  уведомление других драйверов и приложений о доступности нового устройства;  управление подачей электропитания при установке и удалении устройств.

После того как Windows обнаруживает новое устройство Plug and Play, драйвер устройства может быть сконфигурирован и загружен динамически, при минимальном вмешательстве пользователя (фактически в большинстве случаев такое вмешательство вообще не требуется). Некоторые шины, например, PCI и USB, в полной мере используют преимущества Plug and Play, и распознавание устройств, подключенных к таким шинам, происходит полностью автоматически. Как только новое устройство обнаружено, PnP Manager и шинный драйвер производят его энумерацию, после чего производится загрузка драйвера и запуск устройства. Если устройство подключено впервые, и системный реестр не содержит информации об этом устройстве, Windows установит и запустит драйверы для этого устройства.
Как уже упоминалось, программа Setup динамически исследует аппаратную конфигурацию компьютера и заносит информацию обо всех обнаруженных устройствах в реестр. Необходимую информацию программа Setup получает от самого устройства и от ассоциированных с ним INF-файлов.
В системах РпР подсистема РпР динамически отслеживает все переходы устройств между различными состояниями по мере того, как устройство подключается к системе, конфигурируется, запускается, останавливается и удаляется из системы. Все эти переходы схематично показаны на иллюстрации, приведенной на Рисунок 2.10.
Когда устанавливается новое устройство, система использует идентификатор устройства (device ID) для поиска INF-файлов, которые могут быть использованы для установки этого устройства. Windows далее использует эту информацию для создания параметров реестра в составе ключа HKEY_LOCAL_MACHINE, a затем копирует на диск необходимые драйверы. Если с новым устройством можно использовать несколько различных драйверов, то для определения драйвера, наиболее подходящего для данного устройства, Windows применяет так называемую систему приоритетного использования драйверов (driver-ranking schemes). Приоритеты драйверов определяются на основании наличия или отсутствия цифровой подписи и близости соответствия аппаратному идентификатору устройства (hardware ID, HW ID).



Окно Unsafe Removal of Device



Рисунок 2.2. Окно Unsafe Removal of Device


Однако, несмотря на это, существует целый ряд устройств, для которых внезапное удаление не рекомендуется. К их числу, в частности, относятся: 
 некоторые накопители;   модемы;   сетевые адаптеры.

При внезапном удалении таких устройств Windows XP и Windows Server 2003 отобразят окно, информирующее пользователя о необходимости использовать функцию Safe Removal при последующих попытках удаления такого устройства (Рисунок 2.2). Более подробная информация об этом будет приведена далее в настоящей главе.
Новые средства операционной системы, выполняющие задачи по управлению аппаратными средствами, — Hardware Wizard и Device Manager — существенно упрощают установку новых устройств, таких как устройства CD-ROM, сетевые адаптеры, жесткие диски и т. д.




Окно управления аппаратными профилями



Рисунок 2.18. Окно управления аппаратными профилями


Чтобы изменить свойства аппаратного профиля, выделите его имя в списке Available hardware profiles (Имеющиеся аппаратные профили) и нажмите кнопку Properties (Свойства). Можно также создать новый аппаратный профиль на базе уже существующего. Для этого выделите нужный аппаратный профиль в списке и нажмите кнопку Сору (Копировать), а затем укажите имя нового аппаратного профиля в раскрывшемся диалоговом окне Сору Profile (Копировать профиль). Чтобы удалить один из аппаратных профилей, выделите его имя в списке и нажмите кнопку Delete (Удалить).
Наконец, в диалоговом окне Hardware Profiles можно задать поведение системы по отношению к выбору аппаратных профилей. В нижней части этого окна находится группа Hardware profiles selection (Выбор аппаратного профиля) с двумя переключателями. Если выбрать переключатель Wait until I select a hardware profile (Ожидать выбора аппаратного профиля), то при загрузке система выведет на экран список аппаратных профилей и будет ожидать, когда пользователь выберет один из них. При выборе второго переключателя система во время запуска автоматически выберет первый профиль из списка, если пользователь не укажет нужный ему аппаратный профиль по истечении срока (в секундах), указанного в расположенном рядом поле.




Чтобы включить поддержку Plug and



Plug and Play и Windows Server 2003


Чтобы включить поддержку Plug and Play в Windows 2000, Windows XP и Windows Server 2003, потребовалось объединить реализацию Plug and Play с базовым исходным кодом Windows NT. Результаты этой интеграции перечислены ниже.
 Драйверы шины теперь отделены от уровня аппаратных абстракций (HAL). Драйверы шины управляют шиной ввода/вывода, включая функциональные возможности слотов, независимые от конкретных устройств. В этой новой архитектурной модели драйверы шины были отделены от HAL (Hardware Abstraction Layer), чтобы обеспечить координацию с изменениями и расширениями, внесенными в компоненты режима ядра, например, в модуль Executive, драйверы устройств и HAL. Как правило, драйверы шины поставляются Microsoft.  Для обеспечения инсталляции и конфигурирования устройств теперь доступны новые методы и возможности. Новая архитектура включает изменения и расширения для существующих компонентов режима пользователя, включая спулер (Spooler), инсталляторы классов (class installers), панель управления, а также программу Setup. Также добавлены новые компоненты режимов пользователя и ядра, обладающие возможностями Plug and Play.  Разработаны новые интерфейсы прикладного программирования Plug and Play для чтения и записи информации реестра. Для обеспечения этой цели были внесены изменения в структуру реестра. Теперь эта структура поддерживает Plug and Play и позволяет обеспечить дальнейшее совершенствование и расширение структуры реестра будущих версий при обеспечении обратной совместимости.

Windows XP и Windows Server 2003 поддерживают наследуемые драйверы Windows NT (legacy Windows NT drivers), но эти драйверы не будут обладать функциональными возможностями Plug and Play и управления электропитанием. Фирмы-производители, которым требуется обеспечить полную поддержку функциональных возможностей Plug and Play для выпускаемых устройств и функционирование одних и тех же драйверов как в Windows 2000/XP и Windows Server 2003, так и в Windows 98/ME, должны разрабатывать новые драйверы, интегрирующие последние достижения технологии Plug and Play и управления электропитанием.
Windows XP и Windows Server 2003 обеспечивают следующую поддержку Plug and Play.
 Автоматическое и динамическое распознавание установленных аппаратных средств. В число обеспечиваемых функций входят начальная инсталляция системы, распознавание аппаратных изменений Plug and Play между перезагрузками системы и реакция на аппаратные события времени исполнения, включая отключения и подключения док-станций и установку/удаление устройств.  Назначение и переназначение аппаратных ресурсов. Драйверы устройств Plug and Play не назначают собственных ресурсов. Вместо этого необходимые для устройства ресурсы идентифицируются при энумерации устройства операционной системой. Модуль Plug and Play Manager запрашивает эти требования при выделении ресурсов каждому устройству. На основании запросов на назначение ресурсов, подаваемых каждым устройством, Plug and Play Manager назначает устройствам соответствующие ресурсы, включая порты ввода/вывода, прерывания (IRQ), каналы DMA и адреса памяти. При необходимости Plug and Play Manager переконфигурирует назначение ресурсов. Такая потребность возникает, например, при добавлении в систему нового устройства, которое запрашивает ресурсы, уже назначенные другому устройству.  Загрузка соответствующих драйверов. Plug and Play Manager определяет и загружает драйверы, необходимые для поддержки конкретного устройства.  Интерфейс для взаимодействия драйверов с системой Plug and Play. Этот интерфейс состоит, в основном, из процедур ввода/вывода, пакетов запроса ввода/вывода для системы Plug and Play (I/O request packets, IRP), необходимых точек входа драйверов и информации реестра.  Взаимодействие с системой управления электропитанием. Ключевой особенностью системы Plug and Play в Windows 2000/XP и Windows Server 2003 является динамическая обработка событий. Добавление или удаление устройства является примером такого динамического события. Другой пример — способность динамического перевода устройства в режим энергосбережения и обратно. Система Plug and Play и система управления электропитанием используют функции WDM и применяют схожие методы реагирования на динамические события.  Регистрация событий уведомления устройств. Plug and Play позволяет коду режима пользователя регистрировать и получать уведомления об определенных событиях Plug and Play. Процедура RegisterDeviceNotification позволяет осуществляющему вызов коду фильтровать класс или устройство, от которого требуется получать уведомления. Фильтр может быть специфическим, например дескриптор файловой системы, или общим, например класс устройств. Методы уведомлений, наследуемые от предыдущих версий Windows NT, также поддерживаются и работают как прежде.





Plug and Play Manager в режиме ядра



Plug and Play Manager в режиме ядра


Модуль Plug and Play Manager (PnP Manager), работающий в режиме ядра, поддерживает функции центрального управления, управляет шинными драйверами при выполнении энумерации (enumeration) и драйверами устройств при добавлении устройства, его запуске и т. д.
Например, Plug and Play Manager может направлять запросы, чтобы определить, может ли устройство быть удалено, и позволить драйверу устройства синхронизировать незавершенные запросы ввода/вывода с поступающим запросом. Plug and Play Manager координируется с соответствующим модулем режима пользователя при определении устройств, доступных для выполнения таких операций.




Поддержка оборудования



Поддержка оборудования


Повышение надежности системы и снижение возможного времени простоя всегда являлись одной из приоритетных целей разработчиков Microsoft, и уже в Windows 2000 этим вопросам было уделено самое пристальное внимание. Весьма ограниченная поддержка Plug and Play в Windows NT 4.0 являлась одним из наиболее существенных недостатков этой операционной системы и вызывала множество справедливых нареканий пользователей. По сравнению с Windows NT, операционные системы Windows 2000 Professional и Windows 2000 Server предоставили множество усовершенствований в данной области, реализация которых стала частью инициативы нулевого администрирования Microsoft (ZAW).
Был существенно расширен список поддерживаемых аппаратных устройств (HCL), в который были включены сотни новых принтеров, модемов, устройств с автоподачей для CD-ROM, стримеров, накопителей на магнитооптических дисках и других устройств.  Снижение частоты необходимых перезагрузок. В отличие от Windows NT 4.0 Workstation и Windows NT 4.0 Server, Windows 2000 Professional и Windows 2000 Server позволяют пользователям вносить изменения в конфигурацию компьютера без необходимости перезагрузки. Это преимущество явилось одним из наиболее значимых, т. к. оно упрощает обслуживание при одновременном повышении надежности.  Были существенно упрощены как установка самой операционной системы, так и процедуры установки и конфигурирования нового оборудования. Фактически уже в Windows 2000 большинство новых устройств могло быть подключено динамически.

Все это было достигнуто за счет включения в Windows 2000 поддержки Plug and Play, а также средств управления электропитанием и энергосбережением.
В новых операционных системах — Windows XP и Windows Server 2003 — были введены дополнительные усовершенствования в области работы с аппаратными средствами. Список этих усовершенствований весьма впечатляющ.
 Уже на данный момент Windows XP и Windows Server 2003 реализуют поддержку Plug and Play для сотен устройств, не включенных в список совместимых устройств (HCL) для Windows 2000. Наряду с этим, обеспечивается улучшенная поддержка для устройств, подключаемых к шинам USB (Universal Serial Bus), IEEE 1394, PCI (Peripheral Component Interconnect). И хотя модель драйверов по сравнению с Windows 2000 не претерпела существенных изменений, Windows XP и Windows Server 2003 предлагают расширенную поддержку для многих распространенных классов устройств, включая сканеры, камеры, аудиоустройства, накопители высокой плотности и т. д. Помимо этого, начиная с Windows XP, была введена технология Windows Image.Acquisition (WIA), предоставляющая удобный пользовательский интерфейс для работы со сканерами и цифровыми камерами, подобный тому, который существует в Windows ME.  Улучшенная поддержка работы с цифровыми аудио- и видеофайлами. Поддержка цифровых аудио- и видеофайлов в Windows XP и Windows Server 2003 базируется на технологиях, уже реализованных в более ранних версиях Windows, однако, наряду с этим, были введены и новые технологии, обеспечивающие поддержку большого количества новых устройств, а также расширенные возможности по воспроизведению и хранению цифрового аудио и видео. В частности, для поддержки цифровых аудиоустройств Windows XP, как и ее предшественница Windows 2000, базируется на архитектуре WDM. Наряду с этим, в Windows XP и Windows Server 2003 реализован целый ряд новых технологий, обеспечивающих улучшенное качество воспроизведения и записи цифрового аудио, в том числе:  многоканальный вывод и воспроизведение для большого количества дополнительных аудиоформатов;  поддержка технологий Acoustic Echo Cancellation (AEC) и Global Effects (GFX), обеспечивающих улучшенное качество звукозаписи и более удобный интерфейс при работе с микрофонами USB;  улучшенная поддержка технологии DRM (Digital Rights Management), позволяющей обеспечить защиту авторских прав на музыкальные записи и другую цифровую информацию за счет шифрования и применения ограничений на использование (например, по типу воспроизводящих устройств). Все драйверы аудиоустройств, входящие в состав Windows XP и Windows Server 2003 Server, поддерживают эту технологию;  улучшенная поддержка работы с аудио-CD, CD-ROM, а также улучшенная поддержка DVD. Так, в Windows XP была введена встроенная поддержка чтения и записи на устройства DVD-RAM с использованием файловых систем FAT и FAT32. Помимо этого, обеспечиваются возможности чтения файловой системы UDF (Universal Disk Format) версии 2.01, представляющей собой функциональное расширение UDF 1.02, используемой на текущий момент в качестве стандарта для носителей DVD. Предоставляются встроенные возможности по записи компакт-дисков, включая запись дисков в форматах CD-R и CD-RW.


При этом обеспечиваются базовые функциональные возможности drag-and-drop, а также программа-мастер CD Writing Wizard;
наконец, компьютер, работающий под управлением Windows Server 2003 можно сконфигурировать как сервер мультимедийного содержания (Streaming media server), в режиме реального времени предоставляющий мультимедийную информацию в корпоративных сетях и в Интернете. 

 



Помимо установки новых устройств



Рисунок 2.6. Помимо установки новых устройств, мастер Add Hardware Wizard позволяет также просматривать список устройств, уже установленных в системе, и устранять неполадки в их работе












Power Manager и Policy Manager



Power Manager и Policy Manager


Power Manager — это компонент режима ядра, который работает совместно с модулем Policy Manager и обрабатывает вызовы интерфейса прикладного программирования (API) управления электропитанием, координирует события и генерирует запросы на прерывания, связанные с управлением электропитанием IRP. Например, если различные устройства отправляют запросы на отключение, Power Manager собирает эти запросы, определяет, какие запросы должны быть сериализованы и генерирует соответствующие IRP.
Policy Manager наблюдает за активностью системы и собирает интегрированную информацию о статусе пользователей, приложений и драйверов устройств. При определенных обстоятельствах или по запросу Policy Manager генерирует IRP для изменения статуса драйверов устройств.




При установке новых устройств



Рисунок 2.7. При установке новых устройств мастер Add Hardware Wizard предлагает выполнить автоматический поиск устройств или выбрать устанавливаемые устройства вручную из предложенного списка












Просмотр дерева устройств по подключению



Рисунок 2.20. Просмотр дерева устройств по подключению


Обратите внимание на то, что Device Manager позволяет просматривать дерево аппаратных устройств как по типу устройств (см. Рисунок 2.19), так и по подключению (Рисунок 2.20). Чтобы просмотреть дерево устройств по подключению, выберите команду Devices by connection (Устройства по подключению) из меню View (Вид).




Просмотр скрытых устройств



Просмотр скрытых устройств


Следует обратить особое внимание на то, что утилита Device Manager no умолчанию не отображает все устройства. Так, устройства, не поддерживающие Plug and Play, устройства, не подключенные к компьютеру, и некоторые другие устройства являются скрытыми. Однако вы можете просмотреть список всех устройств, существующих в системе (в том числе и скрытых) с целью просмотра или устранения неполадок, выбрав команду Show hidden devices (Показать скрытые устройства) из меню View.




Проверка устройства подключено оно или нет?



Рисунок 2.5. Проверка устройства: подключено оно или нет?












Работа с утилитой Device Manager



Работа с утилитой Device Manager


Для ручного управления параметрами настройки аппаратных средств используется утилита Device Manager, вызвать которую можно нажатием кнопки Device Manager (Диспетчер устройств) на вкладке Hardware окна System Properties. Device Manager отображает дерево аппаратных устройств (Рисунок 2.19), которое в иерархическом виде представляет все активные устройства, присутствующие в системе, а также информацию об этих устройствах. Windows XP и Windows Server 2003 обновляют дерево устройств при добавлении или удалении устройств, а также по мере переназначения ресурсов. Дерево устройств является иерархическим, при этом каждое устройство на шине представляется как дочернее устройство шинного адаптера или контроллера. Вся статическая информация об аппаратных средствах хранится в реестре, а компоненты системы Plug and Play и драйверы строят соответствующие поддеревья, поддерживают их и настраивают разрешения на доступ к новым и существующим поддеревьям реестра. (Более подробная информация о работе с системным реестром будет приведена в главе 24 "Работа с системным реестром".)



Расширенный список аппаратных устройств



Рисунок 2.9. Расширенный список аппаратных устройств


Как уже говорилось ранее, мастер Add Hardware Wizard обнаружит все поддерживаемые (т. е. включенные в HCL) и правильно установленные устройства, даже если они не поддерживают стандарт Plug and Play. Если на данном этапе возникли затруднения, то в первую очередь убедитесь в том, что устройство включено в список совместимых аппаратных средств (HCL) операционной системы Windows Server 2003, а затем проверьте, правильно ли оно подключено к компьютеру и убедитесь в его работоспособности.
Установка и конфигурирование аппаратных устройств при помощи мастера Add Hardware Wizard гораздо безопаснее непосредственного редактирования реестра, поскольку исключается риск утраты совместимости или возникновения других проблем. Но время от времени при добавлении новых устройств или изменении параметров уже установленных устройств может понадобиться изменение настройки выделяемых устройству ресурсов. Как правило, Windows Server 2003 управляет этими параметрами автоматически при инсталляции нового устройства и при загрузке системы. Однако иногда может потребоваться и ручная настройка. В этом случае для редактирования параметров устройств следует использовать утилиту Device Manager (Диспетчер устройств).




и Windows XP, Windows Server



Реализация Plug and Play в Windows Server 2003


Как и Windows 2000 и Windows XP, Windows Server 2003 включают в свой состав усовершенствования, которые не просто упрощают управление устройствами для конечных пользователей, но и значительно облегчают задачи разработчиков драйверов устройств. В число этих усовершенствований входят поддержка управления электропитанием и поддержка Plug and Play. Plug and Play представляет собой комбинацию поддержки аппаратных средств и программного обеспечения, которая позволяет- компьютерной системе распознавать изменения в аппаратной конфигурации при минимальном вмешательстве пользователя и даже без взаимодействия с пользователем. Работая с системой Plug and Play, пользователь может добавлять или удалять устройства динамически, без утомительного и неудобного ручного конфигурирования. Более того, пользователю даже не нужно глубокое знание принципов функционирования аппаратных средств компьютера. Например, пользователь может подключить портативный компьютер к сети через адаптер Ethernet, имеющийся на док-станции, и сделать это без необходимости ручного изменения конфигурации. Впоследствии этот же компьютер можно использовать для установления соединения с локальной сетью через модем, для этого тоже не потребуется изменять конфигурацию вручную. Windows Server 2003 в полном объеме поддерживает Plug and Play — набор стандартов аппаратной и программной поддержки, позволяющей компьютерной системе распознавать и адаптировать изменения аппаратной конфигурации без вмешательства пользователя и без необходимости перезагрузки компьютера.
Устройства, удовлетворяющие требованиям Plug and Play, с легкостью можно как установить или переконфигурировать, так и удалить из системы. Более того, многие периферийные устройства могут быть установлены или удалены без выключения питания, и это изменение будет корректно обработано.

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

Удаление устройства из аппаратной конфигурации компьютера без предварительного уведомления операционной системы называется внезапным удалением (surprise removal), поскольку для операционной системы это действие действительно является неожиданным. В отличие от предыдущих версий Windows NT, системы Windows 2000, Windows XP и Windows Server 2003 в большинстве случаев будут корректно обрабатывать эту ситуацию, т. к. драйверы устройств разрабатываются таким образом, чтобы уведомлять ОС об удалении устройства.


Схема процесса установки драйверов устройств



Рисунок 2.11. Схема процесса установки драйверов устройств


Процессы, имеющие место при установке драйвера нового устройства, происходят в следующей последовательности:
1. Пользователь подключает новое устройство к компьютеру. Обратите внимание, что если шина, к которой подключено устройство, поддерживает уведомление о неожиданном подключении нового устройства (hot-plug notification), то вы можете не останавливать Windows и не выключать компьютер,
2. PnP Manager совместно с шинным драйвером производят энумерацию нового устройства. Шинный драйвер при поддержке шины получает уведомление о присутствии нового устройства, и, в свою очередь, уведомляет модуль PnP Manager режима ядра об изменении аппаратной конфигурации (в данном случае, о добавлении нового устройства). PnP Manager режима ядра запрашивает у шинного драйвера список физически присутствующих на шине устройств и сравнивает этот список с его предыдущей копией, чтобы определить, какое устройство было добавлено. Затем PnP Manager запрашивает у шинного драйвера информацию о новом устройстве (hardware ID, vendor ID, идентификаторы совместимых устройств).
3. PnP Manager режима ядра уведомляет PnP Manager режима пользователя о необходимости установки нового устройства.
4. PnP Manager режима пользователя создает новый процесс с использованием rundli32.exe и запускает модуль newdev.dll для установки нового устройства. Например, на Рисунок 2.12 показан вид окна программы-мастера Found New Hardware Wizard, предлагающего пользователю установить обнаруженное новое устройство (в данном случае, это — портативный накопитель Ziv, подключаемый к компьютеру через интерфейс USB).
5. DLL-библиотека, отвечающая за установку новых устройств, вызывает функции Setup API и функции диспетчера конфигурации PnP (CfgMgr API). Таким образом, Newdev.dll создает список драйверов, которые возможно использовать с данным устройством (Рисунок 2.13).
6. Инсталляторы класса (class installer) и ко-инсталляторы (co-installers), если они имеются, принимают участие в установке устройства, предоставляя дополнительные функциональные возможности по его конфигурированию.
7. Программа Setup передает управление ядру для загрузки драйверов устройства. Как только Setup определит наиболее подходящий драйвер для устройства, скопирует файлы драйвера, зарегистрирует интерфейсы и так далее, он уведомит пользователя об успешной установке нового устройства (Рисунок 2.14) и передаст управление модулю PnP Manager режима ядра для загрузки драйверов и запуска устройства.
8. PnP Manager загружает функциональный драйвер и необязательные драйверы фильтра.
9. Инсталляторы могут предоставлять дополнительные страницы свойств для конфигурирования параметров устройства.



Сообщение информирующее пользователя



Рисунок 2.16. Сообщение, информирующее пользователя о возможности безопасного удаления устройства


В частности, в рассматриваемом нами примере с портативным накопителем Ziv, после запуска драйверов в правом нижнем углу экрана появится всплывающее сообщение, информирующее о появлении в системе нового накопителя (Рисунок 2.15), который уже через несколько секунд будет готов к работе.
Обратите внимание, что удалять такой накопитель из системы необходимо с использованием функции Safe Removal, во избежание потери данных или даже порчи устройства. Для этого следует щелкнуть правой кнопкой мыши, указав курсором на значок, соответствующий съемному накопителю, выбрать из меню опцию Safely Remove this Device и дождаться появления всплывающего сообщения, подобного показанному на Рисунок 2.16.




Состояния устройств РnР



Рисунок 2.10. Состояния устройств РnР


Таким образом, если вам требуется установить новое устройство, в первую очередь следует попытаться сделать это, полностью положившись на подсистему Plug and Play. Как правило, Windows автоматически обнаружит и сконфигурирует все поддерживаемые устройства. Схема действий пользователя зависит от типа устройства и определяется следующими правилами.
 Если устанавливается внешнее устройство Plug and Play, то просто подключите новое устройство, не выключая компьютера.  Если требуется установить внутренний адаптер PCI или ISA Plug and Play, остановите систему, выключите компьютер и установите новое устройство. После перезагрузки Windows обнаружит устройство и автоматически запустит процедуры его установки.  Если требуется установить наследуемое устройство, запустите Add Hardware wizard и попытайтесь обнаружить новое устройство средствами Windows Server 2003. Обратите внимание на то, что данная операция требует регистрации в системе от имени пользователя с административными правами.

Установка новых устройств происходит после регистрации пользователя в системе. Схема, иллюстрирующая процессы, которые происходят при установке драйверов нового устройства, приведена на Рисунок 2.11.



Уровни поддержки Plug



Таблица 2.1. Уровни поддержки Plug and Play для устройств и драйверов

&nbsp Драйвер Plug and Play
Драйвер без поддержки Plug and Play
Устройство Plug and Play
Полная поддержка Plug and Play
Поддержка Plug and Play отсутствует
Устройство без поддержки Plug and Play
Возможна частичная поддержка Plug and Play
Поддержка Plug and Play отсутствует

Как показывает эта таблица, для обеспечения полной поддержки Plug and Play устройство Plug and Play должно иметь драйвер, поддерживающий Plug and Play.
Ниже кратко описаны все возможные конфигурации.
 Устройство и драйвер поддерживают Plug and Play (полная поддержка Plug and Play). Чтобы обеспечить оптимальную поддержку Plug and Play, аппаратная реализация должна соответствовать инициативе OnNow, включая спецификацию ACPI. Поддержка Plug and Play в Windows 2000/XP л Windows Server 2003 направлена только на системы ACPI.  Устройство Plug and Play/драйвер без поддержки Plug and Play (поддержка Plug and Play отсутствует). Если драйвер не поддерживает Plug and Play, то устройство будет вести себя как устройство, не поддерживающее Plug and Play, несмотря на то, что оно поддерживает эту спецификацию аппаратно. Обратите особое внимание на то, что устройство, не поддерживающее Plug and Play, может ограничить функциональные возможности Plug and Play для всей системы.  Устройство без поддержки Plug and Play/драйвер Plug and Play (возможна частичная поддержка Plug and Play). Устройство, не поддерживающее Plug and Play на аппаратном уровне, может обеспечивать частичную поддержку Plug and Play при условии загрузки соответствующего драйвера (Plug and Play). Хотя такая система не может автоматически и динамически распознавать аппаратные средства и загружать соответствующие драйверы, она обеспечит возможность управления выделением ресурсов Plug and Play, а также предоставит интерфейс для взаимодействия драйвера с системой Plug and Play и позволит взаимодействовать с системой управления электропитанием и регистрировать события, связанные с уведомлением устройств. Если такое устройство имеет драйвер Plug and Play, то оно отображается в приложении Device Manager, и для него будут доступны страницы конфигурирования свойств. . Ни устройство, ни драйвер не поддерживают Plug and Play (поддержка Plug and Play отсутствует). Драйверы, разработанные до включения поддержки Plug and Play в операционную систему, будут функционировать точно так же, как раньше (без обеспечения функций Plug and Play). Все новые драйверы должны поддерживать Plug and Play.

Как видите, поддержка Plug and Play зависит не только от самого устройства, но и от его драйвера. Например, если вы установили в своей системе наследуемое устройство, вы все же можете обеспечить некоторый уровень поддержки Plug and Play и даже обеспечить для устройства дополнительные функциональные возможности за счет установки драйвера устройства, разработанного с учетом поддержки Plug and Play.

Поддержка возможностей Plug and Play для мониторов имеет некоторые особенности. Так, Windows XP и Windows Server 2003 будут воспринимать монитор как поддерживающий Plug and Play, только если эта поддержка обеспечивается как монитором и видеоадаптером, так и драйвером дисплея. В противном случае монитор будет идентифицирован как стандартный (default monitor).



Типы драйверов



Типы драйверов


С точки зрения системы Plug and Play существуют следующие три типа драйверов.
 Шинный драйвер обслуживает контроллер шины, адаптер, мост или любое устройство, которое имеет дочерние устройства. Шинные драйверы относятся к обязательным драйверам и обычно поставляются Microsoft. Для каждого типа шины в системе имеется собственный шинный драйвер.  Функциональный драйвер — это основной драйвер устройства, который предоставляет интерфейс с этим устройством. Этот драйвер является обязательным, за исключением случаев, когда ввод/вывод устройства осуществляется шинным драйвером или любыми драйверами фильтра. Функциональный драйвер устройства обычно реализуется в виде пары драйвер/мини-драйвер. В таких парах драйверов драйвер класса (обычно разрабатываемый Microsoft) обеспечивает функциональные возможности, необходимые всем устройствам этого типа, а мини-драйвер (обычно разрабатываемый фирмой — поставщиком конкретного устройства) обеспечивает специфические функциональные особенности устройства. Plug and Play Manager загружает по одному функциональному драйверу для каждого устройства.  Драйвер фильтра сортирует запросы ввода/вывода для шины, устройства или класса устройств. Драйверы фильтра являются необязательными и могут существовать в любом количестве, располагаясь на различных уровнях — как выше, так и ниже функционального драйвера и шинного драйвера. Обычно такие драйверы поставляются фирмами OEM или независимыми поставщиками аппаратных средств (IHV).

В большинстве случаев драйверы фильтров нижнего уровня модифицируют поведение аппаратных средств. Например, низкоуровневый драйвер фильтра класса для мыши может обеспечивать ускорение ее работы, выполняя нелинейное преобразование данных о перемещении мыши.
Высокоуровневые драйверы фильтров обычно предоставляют дополнительные функции для устройства. Например, высокоуровневый драйвер фильтра для клавиатуры может вводить дополнительные проверки по безопасности.
Уровни драйверов
Для каждого конкретного устройства существует два или более уровней драйвера: шинный драйвер для шины ввода/вывода (или Plug and Play Manager — для устройств, помещенных при энумерации на корневой уровень) и функциональный драйвер устройства. Помимо этого, могут присутствовать один или несколько драйверов фильтра для шины или устройства.
Объекты устройств
Драйвер создает объект устройства (device object) для каждого устройства, которым он управляет. Объект устройства представляет устройство для драйвера. С точки зрения Plug and Play, существуют три типа объектов устройств.
 Физические объекты устройств (Physical Device Objects, PDO).  Функциональные объекты устройств (Functional Device Objects, FDO).  Объекты фильтров устройств

PDO представляют устройство на шине; каждый интерфейс прикладного программирования Plug and Play API, который ссылается на устройство, ссылается на PDO. FDO представляют функциональные возможности устройства функциональному драйверу. Объекты фильтров представляют драйвер фильтра. Эти три типа объектов устройств имеют тип DEVICE_OBJECT, но используются по-разному и могут иметь дополнительные расширения.
Дополнительные интерфейсы
Драйверы Plug and Play, предназначенные для использования в Windows 2000, Windows XP и Windows Server 2003, не ограничиваются использованием интерфейсов WDM. Драйверы могут вызывать другие интерфейсы для обеспечения поддержки наследуемых драйверов Windows NT, обнаружения аппаратных средств или других специфических функций, не предоставляемых WDM.
Обратите внимание, что если драйвер должен применяться как в Windows 98/ ME, так и в Windows 2000/XP/Server 2003, то он должен использовать только интерфейсы WDM.
Шинные драйверы WDM
Управление электропитанием и Plug and Play осуществляется при помощи шинных драйверов WDM, которые представляют собой стандартные драйверы WDM. Обратите внимание, что в этом контексте любое устройство, начиная с которого происходит энумерация других устройств, будет называться шиной. Шинный драйвер отвечает на пакеты запроса ввода/вывода (IRP) и может быть расширен за счет использования драйверов фильтров.
Шинный драйвер выполняет следующие задачи:
 Энумерация устройств на шине  Динамическое извещение операционной системы о событиях на шине  Ответы на IRP от систем Plug and Play и управления электропитанием  Мультиплексирование доступа к шине (для некоторых шин)  Общее администрирование устройств на шине

В ходе энумерации драйвер шины идентифицирует устройства на своей шине и создает для них объекты устройств. Метод, с помощью которого драйвер идентифицирует устройства на шине, зависит от конкретной шины.
Шинный драйвер выполняет некоторые операции от имени устройств, находящихся на его шине, но обычно не обрабатывает операции чтения и записи на устройства, находящиеся на шине. (Эти операции обрабатываются функциональным драйвером.) Драйвер шины выступает в роли функционального драйвера для своего контроллера, адаптера, моста или другого устройства.
Microsoft поставляет шинные драйверы для большинства распространенных шин, в том числе: PCI, Plug and Play ISA, SCSI и USB. Прочие шинные драйверы могут поставляться независимыми поставщиками — IHV или OEM. Шинный драйвер может быть реализован как пара драйвер/мини-драйвер. В таких парах драйверов один из драйверов связан со вторым, а второй представляет собой DLL.
Драйвер ACPI выполняет роль как шинного драйвера, так и функционального драйвера. ACPI позволяет системе узнавать об устройствах, которые не имеют стандартного метода энумерации (т. е. о наследуемых устройствах), или о вновь определенных устройствах ACPI, энумерация которых должна производиться ACPI (например, о встроенных контроллерах). ACPI устанавливает драйверы фильтра верхнего уровня для устройств, функциональные возможности которых выходят за пределы стандарта для их шины. Например, если шинный драйвер PCI устанавливает графический контроллер с элементами управления электропитанием, которые не поддерживаются шиной PCI, то устройство может поддерживать дополнительные функциональные возможности, если драйвер ACPI загрузит для него высокоуровневый драйвер фильтра.
Драйверы устройств WDM
Драйверы устройств WDM обычно представляют собой пару "драйвер/мини-драйвер —• драйвер фильтра". В дополнение к предоставлению операционного интерфейса с устройством функциональные драйверы играют важную роль в системе управления электропитанием, предоставляя информацию владельцу политики для устройства о возможностях управления электропитанием и выполняя действия, относящиеся к переходам от режима энергосбережения к режиму подачи электропитания в полном объеме.




Управление электропитанием и энергосбережение



Управление электропитанием и энергосбережение


Управление электропитанием (power management) представляет собой интегрированный подход к энергосбережению в масштабах всей системы (на уровне аппаратных средств и программного обеспечения). Это означает, что компьютерная система, в полном объеме поддерживающая управление электропитанием и энергосбережение, должна включать как аппаратную, так и программную поддержку для следующих функций.
Минимальные временные затраты на запуск и останов компьютера. Это означает, что система может находиться в "спящем" режиме с минимальным потреблением энергии. Из этого режима она может быстро возобновить работу (без необходимости полной перезагрузки).  Эффективное и экономное энергопотребление, увеличение срока службы аппаратных устройств. Устройства потребляют электроэнергию только в том случае, когда они выполняют полезную работу (запросы системы или пользователя). Устройства, которые в течение заданного временного интервала не используются, отключаются и впоследствии включаются по требованию.  Бесшумная работа.

Требования к аппаратным средствам и программному обеспечению по управлению электропитанием и энергосбережению определены промышленной инициативой OnNow. В Windows 2000, Windows ХР и Windows Server 2003 такая поддержка обеспечивается — как компьютер в целом, так и каждое отдельное устройство потребляют только минимально необходимые уровни электроэнергии (разумеется, при условии, что аппаратные средства удовлетворяют требованиям инициативы OnNow). Здесь следует отметить, что управление электропитанием и РnР тесно взаимозависимы.
Этот подход к управлению электропитанием и энергосбережению обеспечивает следующие преимущества.
 Интеллектуальное поведение системы в отношении энергосбережения.  Повышенную надежность и снижение риска потери данных (как вследствие увеличения срока службы аппаратных средств, так и вследствие снижения количества перезагрузок).  Более высокий уровень взаимодействия устройств.

С помощью утилиты Power Options (Электропитание) можно управлять потреблением энергии устройствами компьютера. Следует сразу же отметить, что для использования этих функций необходимо иметь компьютер, удовлетворяющий спецификации ACPI.
Для управления электропитанием:
1. Щелкните по значку Power Options на панели управления.
2. На экране появится окно Power Options Properties, раскрытое на вкладке Power Schemes (Схемы управления питанием) (Рисунок 2.21).



Уровни поддержки устройств и драйверов



Уровни поддержки устройств и драйверов


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



Установка драйверов нового устройства успешно завершена



Рисунок 2.14. Установка драйверов нового устройства успешно завершена












Установка нового устройства



Установка нового устройства


Что же происходит с системой при установке в ней нового устройства? Если у вас есть хотя бы небольшой предварительный опыт работы с более ранними версиями Windows NT/2000, вам известно, что практически вся информация об аппаратных средствах компьютера и установленном на нем программном обеспечении хранится в системном реестре.
Даже если Windows XP и Windows Server 2003 встречают новое устройство, на текущий момент не занесенное в реестр, и система пока не имеет сведений о том, как с ним работать, она в первую очередь попытается распознать устройство. Если новое устройство успешно распознано, то на панели в правом нижнем углу экрана появляется индикатор мастера установки нового оборудования и выводится всплывающее сообщение, информирующее пользователя об обнаружении нового устройства. При этом стоит отметить, что система автоматически установит драйвер успешно распознанного устройства, сконфигурирует устройство для работы и через несколько секунд выведет следующее всплывающее сообщение, информирующее вас о том, что новое устройство готово к работе (Рисунок 2.4).



Вкладка Hardware окна System Properties



Рисунок 2.17. Вкладка Hardware окна System Properties


Помимо возможности вызова мастера Add Hardware Wizard, работа с которым была рассмотрена в предыдущем разделе, административные средства, доступные на этой вкладке, позволяют выполнять следующие задачи.
 Управлять опциями защиты драйверов устройств цифровой подписью (более подробная информация о защите системных файлов и драйверов Windows XP цифровой подписью будет приведена в главе 23 "Восстановление системы").  Вызывать утилиту Device Manager, позволяющую вручную конфигурировать параметры настройки аппаратных устройств.  Управлять аппаратными профилями.

Последующие несколько разделов будут посвящены детальному рассмотрению перечисленных возможностей.




Вкладка Hibernate окна Power Options Properties



Рисунок 2.22. Вкладка Hibernate окна Power Options Properties


После активизации поддержки спящего режима в списке What do you want the computer to do? (Что должен делать компьютер?) диалогового окна Shut Down Windows (Завершить работу Windows) появится новый пункт — Hibernate, позволяющий вручную перевести компьютер в спящий режим.
В заключение следует отметить, что, по сравнению с Windows 2000, Windows XP и Windows Server 2003 предлагают следующие усовершенствования в области управления подачей электропитания и энергосбережением.
 Ускоренный выход из ждущего и спящего режимов.  Улучшенная поддержка управления электропитанием для портативных компьютеров, в том числе встроенная поддержка технологий управления производительностью процессора и управление состоянием монитора на жидких кристаллах при работе от батарей в зависимости от их заряда.  Улучшенная поддержка событий типа "Wake-on". Когда компьютер не используется, создается полная иллюзия того, что он отключен. Однако при наступлении событий типа телефонного звонка, принятого факсмодемом или запроса, поступившего к сетевой карте, компьютер "проснется" и будет реагировать на соответствующее событие.  Возможности управления подачей электропитания для отдельных устройств, поддерживающих эту функцию.




Вкладка Power Schemes окна Power Options Properties



Рисунок 2.21. Вкладка Power Schemes окна Power Options Properties


3. Чтобы перевести компьютер в режим энергосбережения, выберите одну из схем управления питанием (power scheme), которые представляют собой наборы параметров, управляющих питанием устройств компьютера. Можно использовать одну из стандартных схем или создать собственную. Например, в зависимости от установленных на компьютере аппаратных средств можно проделать следующее:
 задать условия автоматического отключения монитора и жестких дисков;  перевести компьютер в ждущий режим (standby), если с включенным компьютером никто долгое время не работает. В этом режиме монитор и жесткие диски отключаются, и компьютер потребляет меньшее количество энергии. Когда пользователь начинает работу, такой компьютер быстро выходит из режима, в котором он находился, и рабочий стол восстанавливается в точности в том состоянии, в котором он был оставлен. Эта возможность очень полезна для экономии ресурса батарей в портативных компьютерах;  перевести компьютер в "спящий" режим (hibernation; буквально — "бездействие, зимняя спячка"). Функция спящего режима отключает монитор и жесткий диск, сохраняет все содержимое памяти на жестком диске и выключает компьютер. После перезапуска содержимое рабочего стола восстанавливается в точности в том состоянии, в котором оно находилось при переводе компьютера в спящий режим. Вывод компьютера из спящего режима занимает несколько больше времени, нежели вывод из режима энергосбережения.

Как правило, чаще всего требуется отключать монитор и жесткий диск на короткий период времени с целью экономии электроэнергии, и для этого лучше всего подходит ждущий режим.
Если вы планируете отсутствовать в течение достаточно длительного времени, то рекомендуется перевести компьютер в спящий режим. Чтобы активизировать поддержку спящего режима:
1. Раскройте окно Power Options Properties и перейдите на вкладку Hibernate (Спящий режим) (Рисунок 2.22). Если вкладка недоступна, ваш компьютер не поддерживает эту опцию.
2. Установите флажок Enable hibernation (После приостановки перейти в спящий режим). Следует отметить, что поскольку при переходе в спящий режим все содержимое оперативной памяти записывается на жесткий диск, требуется объем свободного дискового пространства, соответствующий объему оперативной памяти, установленной на компьютере.

Если вы не пользуетесь спящим режимом, отключите его на вкладке Hibernate. Помните, что объем зарезервированного дискового пространства может быть довольно значительным, и это пространство будет совершенно напрасно исключено из активного использования.



Всплывающее сообщение Found New Hardware



Рисунок 2.4. Всплывающее сообщение Found New Hardware


В отличие от устройств Plug and Play, старые или наследуемые устройства (legacy devices), разработанные до выпуска Windows 95, имеют фиксированные параметры настройки. В этом случае задачи по установке и конфигурированию нового устройства несколько усложняются, но действует одна общая рекомендация — прежде, чем пытаться вносить изменения непосредственно в реестр, попробуйте добиться нужного результата с помощью программы-мастера Add Hardware Wizard. В Windows ХР и Windows Server 2003 программа Add Hardware Wizard снабжена новыми функциональными возможностями и улучшенным интерфейсом. Для установки нового устройства:
1. Из меню Start (Пуск) выберите команды Settings | Control Panel (Настройка | Панель управления), затем выполните двойной щелчок мышью на значке Add Hardware (Установка оборудования). Утилиту Add Hardware Wizard можно вызвать и другим способом: откройте окно Control Panel, выполните двойной щелчок на значке System (Система), в раскрывшемся окне System Properties (Свойства: Система) перейдите на вкладку Hardware (Оборудование) и нажмите кнопку Add Hardware Wizard (Установка оборудования). При использовании любого из описанных методов на экране появится окно Add Hardware Wizard (Мастер установки оборудования). Нажмите в этом окне кнопку Next (Далее).
2. После этого мастер попытается обнаружить новое устройство, и в случае неудачи выведет окно, в котором пользователю будет предложено сообщить, подключил ли он новое устройство или только собирается это сделать (Рисунок 2.5). Работа с мастером установки новых устройств проста и интуитивна. Мастер отображает серию экранов с инструкциями и набором доступных для выбора опций. Пользователю предлагается следовать отображаемым на экране инструкциям, выбирать нужные опции из числа предложенных и нажимать кнопку Next для перехода к следующему экрану. Помимо установки новых устройств, мастер Add Hardware Wizard позволяет также просматривать список устройств, уже установленных в системе и устранять неполадки в их работе (Рисунок 2.6). Чтобы установить новое устройство, не перечисленное в списке, выберите опцию Add a new hardware device, затем нажмите кнопку Next.
3. В следующем окне (Рисунок 2.7) мастер Add Hardware Wizard предложит на выбор две опции: выполнить автоматический поиск установленного оборудования или выбрать устройство из предложенного списка. Поскольку Windows Server 2003 обеспечивает расширенную поддержку оборудования даже по сравнению с Windows 2000, не говоря уже о предыдущих версиях Winodws NT, рекомендуется выбирать опцию автоматического поиска. Обычно система успешно обнаруживает все установленные устройства, как удовлетворяющие стандарту Plug and Play, так и наследуемые. Поэтому, как правило, выбирать устройство вручную из предложенного списка (Рисунок 2.8) вам придется только в наихудшем случае. Если и в данном списке вы не обнаружите нужного вам устройства, выберите опцию Show all devices (Показать все устройства) и нажмите кнопку Next. В этом случае следующее окно (Рисунок 2.9) отобразит длинный список аппаратных устройств в стиле предыдущих версий Windows NT/2000.



Всплывающее сообщение информирующее



Рисунок 2.15. Всплывающее сообщение, информирующее пользователя о появлении нового съемного накопителя