Смекни!
smekni.com

Информатика и программное обеспечение ПЭВМ (стр. 47 из 48)

3.5.5 Компоненты подсистемы Plug and Play

У проекта PlugandPlay было несколько основных задач, которые должны были решить сама спецификация и любые ее воплощения. Самая главная цель состояла в том, чтобы не только облегчить добавление к системе новых аппаратных средств или изменение конфигурации уже подключенных устройств, но и предельно упростить эти действия. Пользователи изменяют конфигурацию устройств быстрее, чем раньше и не испытывают при этом раздражения, а значит, гораздо меньше переживаний выпадает на долю групп поддержки, в которые обычно звонят пользователи, если у них что-то не получается. У разработчиков аппаратных средств появляется четкий стандарт, которому они могут следовать вместо того, чтобы пытаться самим решать все потенциальные проблемы, связанные с установкой и конфигурированием. В случае если все новые аппаратные средства будут разрабатываться в соответствии со стандартом PlugandPlay, становится вполне реальной ситуация, при которой все, что останется сделать для добавления устройства к сис-теме – это подключить его и скопировать на жесткий диск все необходимое программное обеспечение. С существующим в настоящее время программным обеспечением достичь такого уровня простоты очень сложно, поскольку аппаратные средства не соответствуют стандарту PlugandPlay. Впрочем, можно сделать очень многое в смысле улучшения программного обеспечения, и стандарт PlugandPlay действительно способствует совершенствованию драйверов устройств, которые могут позволить существующим соответствующим ISA аппаратным средствам поддаваться управлению в среде PlugandPlay.

Спецификация PlugandPlay насчитывает пять целей:

1. Простота установки и конфигурирования новых устройств.

2. Единые динамические изменения конфигурации.

3. Совместимость с уже установленными устройствами.

4. Независимость от аппаратных средств и операционной системы.

5. Упрощенность и повышенная гибкость аппаратной реализации.

В пределах подсистемы PlugandPlay взаимодействует множество модулей, основные из которых показаны на рисунке 3.20.

Функциональное назначение элементов:

1.Дерево аппаратных средств. Это база данных, в которой содержится информация о текущей конфигурации системы, стро-ится диспетчером конфигурации и хранится в памяти. Каждая вершина дерева называется узлом устройства (devicenode) и содержит логическое описание либо конкретного устройства, либо шины.

2..INF-файлы – это набор дисковых файлов, содержащих информацию о конкретных типах устройств. Например, в файле SCSI.INF хранится информация обо всех известных SCSI-устройствах. В ходе установки нового устройства, соответствующего PlugandPlay, будет использован новый .INF-файл. Обычно такой файл находится на дискете, поставляемой вместе с устройством.

Рис. 3.20. Составляющие подсистемы Plug and Play

3.Реестр. Дерево аппаратных средств, которое описывает устройства, входит в состав реестра Windows 9х как поддерево.

4.События – это набор функций API, используюемых для уведомления об изменениях текущей конфигурации системы. В Windows 9х о событиях сигнализирует система сообщений. В других реализациях о них может сообщать один из компонентов операционной системы.

5.Диспетчер конфигурации. Этот модуль отвечает за построение базы данных, в которой содержится информация о конфигурации компьютера, помещаемой в реестр, и за уведомление драйверов устройств о том, какие ресурсы им выделены. Диспетчер конфигурации при работе системы представляет собой центральный модуль подсистемы PlugandPlay.

6.Энумератор (Enumerator). Это новый тип драйвера, взаимодействующий с драйвером устройства и с диспетчером конфигурации. Энумератор обслуживает конкретное устройство (обычно шину), к которому могут подключаться другие устройства. С каждым описанным в дереве аппаратных средств устройством шины связан свой энумератор. Особый энумератор (rootenumerator), называемый корневым, входит в состав диспетчера конфигурации. Он помогает настраивать устройства, которые не соответствуют стандарту PlugandPlay.

7.Арбитр ресурсов. Этот модуль отвечает за управление выделением конкретных ресурсов и предотвращение конфликтов.

8.PlugandPlayBIOS. Новая системная BIOS, которая поддерживает действия PlugandPlay. Любое устройство (например, видеоконтроллер) также может иметь свою BIOS, соответствующую стандарту PlugandPlay. Кроме того, PlugandPlayBIOS выступает в качестве энумератора для материнских плат, и в этом качестве играет важную роль при присоединении к докам портативных систем.

9.Драйверы устройств PlugandPlay. Это драйверы защищенного режима, которые отвечают за управление устройствами и, кроме того, участвуют в работе подсистемы PlugandPlay.

10. Интерфейс пользователя – набор стандартных диалоговых окон, служащих для получения информации в тех случаях, когда подсистеме PlugandPlay для конфигурирования необходима помощь пользователя. Они дают пользователю возможность ознакомиться с конфигурацией системы, которую строит подсистема PlugandPlay.

11.Приложение. С точки зрения стандарта PlugandPlay, это написанная для Windows 9х программа, которая способна воспринимать и обрабатывать сообщения системы о смене конфигурации.

Деятельность подсистемы PlugandPlay состоит, главным образом, в том, что она от имени различных устройств управляет четырьмя видами ресурсов:

1. Память. Речь идет о требованиях устройств к физической памяти, например, сколько страниц памяти нужно устройству и каковы ограничения по выравниванию.

2. Ввод-вывод. Это порты ввода-вывода, через которые будет происходить работа с устройством. Информация о конфигурации устройства включает перечень альтернативных наборов портов.

3. DMA– список необходимых устройству каналов прямого доступа к памяти и любых альтернативных каналов, которые оно может использовать.

4. IRO– требования устройства к линии запроса прерываний, альтернативные IRQ, а также сведения о том, может ли устройство использовать IRQ как разделяемый ресурс.

Подсистема PlugandPlay включает множество модулей, написанных на Си и Ассемблере. Большинство своих компонентов система загружает динамически. Главным элементом подсистемы PlugandPlay является дерево аппаратных средств, описывающее текущую конфигурацию системы.

Допустим, что не вносилось никаких изменений в конфигурацию системы с того момента, когда в последний раз с ней работали. Посмотрим, что произойдет, если включить питание.

1. Системная BIOS"заглядывает" в энергонезависимое запоминающее устройство (СМ OS) и определяет конфигурацию компьютера. Затем BIOS конфигурирует все устройства, для которых ей удается обнаружить соответствующую информацию; в данном случае речь идет об устройствах материнской платы. При этом BIOS отключает все адаптеры, для которых отсутствует информация о конфигурации.

2. Начинается процесс загрузки. Система по-прежнему работает в реальном режиме. Корневой энумератор диспетчера конфигурации использует поддерево аппаратных средств из реестра Windows для справки о том, какой должна быть конфигурация системы.

3. Корневой энумератор просматривает поддерево реестра в поисках информации об устройствах, не соответствующих стандарту PlugandPlay. Обнаружив очередное такое устройство, он создает узел устройства и добавляет его к корню хранящегося в памяти дерева аппаратных средств. Кроме того, корневой энумератор конфигурирует все те устройства, которые не сконфигурировала BIOS.

4. Продолжается загрузка системы в реальном режиме. Системный загрузчик обрабатывает файл SYSTEM.INI и загружает все указанные в нем статические виртуальные драйверы внешних устройств.

5. После этого загружаются остальные энумераторы. Например, BIOS отметила тот факт, что в состав системы входит шина ISA. В реестре указано, какой энумератор следует загрузить для данной шины.

6. Энумератор изучает подключенные к шине устройства и загружает либо статический V×D (если таковой необходим), либо еще один энумератор, если необходимо обследовать дополнительную шину.

7. Теперь в памяти уже находятся все необходимые драйверы реального режима и статические V×D. Ядро операционной системы заканчивает свою собственную инициализацию и переключается в защищенный режим.

8. Запускается диспетчер конфигурации. Некоторые из подключенных к системе устройств уже полностью проинициализированы и их драйверы уже загружены. Про остальные устройства система уже знает, но их драйверы еще не загружены.

9. Диспетчер конфигурации загружает нужные энумераторы, которые, в свою очередь, изучают подключенные устройства и присоединяют к дереву аппаратных средств новые узлы. По окончании этого процесса диспетчер конфигурации загружает драйверы, соответствующие новым узлам устройств. Именно на этом этапе становится известно обо всех возможных конфликтах, и принимаются соответствующие решения.

10. Если после всех этих действий останется какое-нибудь неопознанное, не поддерживающее стандарт PlugandPlay устройство, Windows начинает процесс его установки, в ходе которого пользователю приходится помогать системе разобраться с конфигурированием. Если необходимости в этом не возникает, система начинает работать.


БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Богумирский Б. Руководство пользователя ПЭВМ: В 2 ч. – СПб.: Ассоциация AILCO, 1992. - 298 с.

2. Герасименко В. Защита информации в автоматизированных системах обработки данных: в 2 кн. Книги 1, 2. - М.: Энергоиздат, 1994. - 576 с.