Plug and Play: надежды и разочарования
Большинство внутренних устройств(карты PCI, приводы ит.п.), а также некоторые внешние устройства(принтеры, сканеры ит.п.) автоматически обнаруживаются системой в процессе начального запуска. В идеале Windows оповещает вас о том, что обнаружено новое устройство, и предлагает установить драйвер, который по вашему усмотрению можно извлечь либо из комплекта поставки Windows, либо из другого источника (компакт-диска, гибкого диска или каталога на вашем жестком диске).После этого Windows должна установить драйвер, настроить устройство и выполнить перезапуск без каких-либо негативных эффектов. Проблема возникает тогда, когда новое устройство отказывается работать или блокирует работу какого-либо другого компонента системы. Причиной подобных проблем могут становиться даже самые современные устройства, полностью поддерживающие спецификацию PnP. Это происходит несмотря на то, что за последнее время качество поддержки технологииPnP существенно возросло. Чтобы успешно решать возникающие конфликты,связанные с PnP, важно понимать, что же такое технология Plug and Play.Устройство, поддерживающее спецификацию Plug and Play, должно обладать следующими характеристиками: · Устройство должно обладать сигнатурой (signature),которая передается операционной системе в ответ на запрос. Получив от устройства его сигнатуру, Windows ищет эту сигнатуру в базе данных драйверов и либо обнаруживает подходящий драйвер, либо просит пользователя предоставить диск, на которомсодержится подходящий драйвер. Если драйвер не требуется или система не может найти подходящий драйвер, никакого драйвера для данного устройства не загружается. · Все настраиваемые ресурсы (это характерно в основном для внутренних устройств) должны настраиваться программно. Иными словами, должна поддерживаться возможность изменения конфигурации устройства безнеобходимости изменять положение переключателей и перемычек на самом устройстве. Однако это вовсе не означает, что на устройстве PnP обязательно должны полностью отсутствовать какие-либо перемычки и переключатели. Некоторые устройства PnP позволяют отключать поддержку Plug and Play, и тогда пользователь получает возможность вручную настроить устройство при помощи переключателей — зачастую эта возможность оказывается чрезвычайно полезной. · Если для обслуживания устройства используется драйвер,он должен обладать возможностью сообщить Windows, какие ресурсы могут использоваться данным устройством. Кроме того, драйвер должен обладать возможностью принимать от Windows команды изменения конфигурации и соответствующим образом настраивать устройство, которым он управляет. Благодаря этому система может узнать все возможные конфигурации каждого из установленных в ней устройств и настроить каждое из этих устройств таким образом, чтобы избежать конфликтов. Теперь, когда вы знаете основные принципы, на которых основана технология PnP, вы, должно быть, понимаете, что работоспособность системы Plug and Play во многом зависит от корректной работы драйверов. Один написанный с ошибками драйвер может стать причиной неправильной работы всей системы, при этом каждое из установленных в системе устройств может полностью соответствовать всем требованиям спецификации PnP. Часто приходится сталкиваться с драйверами, которые не могут корректно настроить устройство, с которым они работают. Например, представьте, что звуковая карта должна использовать один из каналов IRQ и ее можно настроить на использование IRQ 5, 7, 9, 10, 11,однако драйвер ошибочно полагает, что помимо этих каналов звуковая карта может быть настроена также на использование IRQ 13. Когда Windows пытается распределить между присутствующими в системе устройствами имеющиеся каналы IRQ, она может указать драйверу настроить звуковую карту на использование IRQ 13 (ведь драйвер сообщил системе, что использование этого IRQ для звуковой карты вполне допустимо). Однако сама звуковая карта не обладает физической возможностью использовать IRQ 13, поэтому, когда драйвер указывает ей настроиться на использование этого IRQ, она либо продолжает использовать предыдущее IRQ, либо вообще отказывается работать. В результате возникает аппаратная проблема. Если карта продолжает использовать IRQ по умолчанию, она, скорее всего, начинает конфликтовать с каким-либо другим устройством, например с модемом или параллельным портом. Таким образом, в результате незначительной ошибки в драйвере два разных устройства перестают работать. Следует иметь в виду, что в некоторых случаях Windows не может определить оптимальную бесконфликтную конфигурацию для всех установленных в системе устройств, даже если на самом деле такая конфигурация существует. В результате система загружается и начинает работать несмотря на то, что в ней существует по крайней мере один аппаратный конфликт. Я столкнулся с подобным поведением, когда пытался установить в системе с большим количеством подключенных к ней устройств дополнительный IDE-контроллер. В большинстве случаев Windows даже не сообщает вам о том, что система PnP не срабатывает. В подобной ситуации вы должны взять бразды правления в собственные руки. Вы должны уметь распознать симптомы(фатальные сбои, подвисания, снижение производительности) и знать, каким образом выполняется поиск конфликтов. Подробнее о конфликтах рассказывалось ранее, в разделе «Устранение аппаратных конфликтов» данной главы. При решении аппаратных проблем может оказаться полезной информация о том, каким образом системы Plug and Play назначают ресурсы (а именно номера каналов IRQ) устройствам PCI. Вместо того чтобы предоставить каждому из устройств возможность самостоятельно выбрать себе некоторый каналIRQ, система BIOS вашего компьютера выделяет каждому из слотов PCI отдельный канал IRQ. Если вы вставляете в слот какое-то устройство, оно автоматически начинает использовать соответствующий этому слоту канал IRQ. Естественно, разным слотам назначаются разные каналы IRQ. Благодаря такому подходу карты PCI не конфликтуют между собой. Существует интересная особенность, характерная для механизмов PnP,встроенных в BIOS и Windows: дело в том, что при распределении каналов IRQмежду слотами PCI некоторые из каналов IRQ игнорируются. Это происходит потому, что производителиBIOS и разработчики Windows опасаются возникновения конфликтов с некоторыми специфическими устройствами, которые могут присутствовать в вашей системе, а могут и не присутствовать в ней. Однако в случае, если ваша система переполнена разнообразными устройствами и вам не хватает свободных каналов IRQ,вы можете войти в BIOS и вручную назначить каждому из слотов PCI те номера каналов IRQ, которые кажутся вам наиболее удобными. При этом вы можете использовать каналы IRQ, которые зачастую игнорируются BIOS и Windows, напримерIRQ 12, 14 и 15. Благодаря этому вы сможете освободить несколько каналов IRQ (как правило, с небольшими номерами), которыми смогут воспользоваться другие устройства, установленные в вашей системе. Наконец, следует отметить, что система PnP имеет неприятную особенность сообщать вам о подключении к системе устройства, которое на самом деле уже давно подключено и настроено и до этого, возможно, неоднократно использовалось вами. Например, после того как вы подключили к системе принтер,установили необходимый драйвер и даже распечатали на нем несколько документов,в ходе следующей начальной загрузки Windows может сообщить вам о том, что она обнаружила подключение к системе нового принтера и что для этого принтера необходимо установить драйвер. Почти всегда причиной этого является некорректное выполнение процедуры установки, то есть несоблюдение рекомендаций производителя устройства. Например, возможно, в инструкции было сказано, чтобы вы подключили принтер к выключенному компьютеру и только после этого выполнили начальную загрузку Windows. Однако вместо этого вы подключили принтер к уже работающей системе. В подобной ситуации лучше всего удалить установленные драйверы (при помощи диспетчера устройств), перезагрузиться и позволить Windows снова обнаружить устройство и настроить его корректным образом. Естественно, перед этим вы должны тщательно изучить прилагаемую к принтеру документацию.
|