Причины появления аппаратных конфликтов
Как ни странно, можно без особых раздумий сказать — проблема в универ сальности современных компьютеров.
Изначально у компьютера IBM AT была всего одна-единственная шина, с помощью которой все устройства подключались к оперативной памяти и процессору (это шина ISA ). Вся архитектура IBM -совместимых компьютеров строилась только на ней, что, в общем-то, было вполне оправданным — в те времена производительность 286-го компьютера была просто изуми тельной по сравнению с другими компьютерами, так что перед производи телями не стояло задачи создавать стандарт с большим "запасом прочности". Тем более, что подобные разработки всегда отрицательно сказывались на конечной стоимости продукта.
Не существовала ранее и система автоматической настройки устройств Plug and Play , поэтому все оборудование приходилось настраивать, в прямом смысле, вручную. Чтобы облегчить работу специалистов по настройке ком пьютеров, практически всем устройствам были назначены строго опреде ленные ресурсы компьютера, которые не могли быть заняты другими уст ройствами, что, в общем-то, не только ускоряло сам процесс окончательной настройки компьютера, но и практически на 100% устраняло возможность возникновения аппаратных конфликтов.
Естественно, что с течением времени производительность любого старого стандарта перестает удовлетворять, что приводит к появлению нового. Более скоростные стандарты либо являются надстройками над более старыми вер сиями, позволяющими преодолеть те ограничения, которые последние име ют, либо имеют совершенно иной способ подключения, который совсем не совместим со старым методом. Вот здесь мы и сталкиваемся с первой проблемой. Для сохранения совместимости со старыми устройствами произво дители вынуждены оставлять как разъемы, так и программы, которые, как мы уже знаем, не поддерживают автоматической настройки.
Примечание В качестве доказательства утверждения , что система автоматической настрой ки Plug and Play является одной из причин появления сбоев , можно привести семейство операционных систем Windows NT . Все они заслуженно считаются очень стабильными , особенно по сравнению с семейством Windows 9 x , хотя в последнее время , а именно с появлением версии Windows 2000, и здесь появились различные нюансы . Одним из основных нововведений в Windows 2000 является поддержка системы Plug and Play . Выводы делайте сами ...
Практически все современные устройства разрабатываются согласно требованиям к возможности их автоматической настройки, поэтому все специфи кации, безусловно, поддерживают технологию Plug and Play . Здесь мы стал киваемся со второй более серьезной проблемой. Старые устройства по- прежнему требуют безоговорочного резервирования строго определенных ресурсов компьютера, тогда как современные устройства вполне способны работать практически с любыми свободными ресурсами ПК. Вполне естест венно, что для нормальной работы всех старых устройств в любом случае будут зарезервированы все необходимые ресурсы, в то же время их стано вится все меньше и меньше, пока не наступает предел, когда даже новые устройства уже не могут нормально распределить между собой оставшееся количество ресурсов.
Но давайте рассмотрим все по порядку.
Распределение ресурсов компьютера
Под старыми устройствами сегодня следует понимать те устройства, кото рые для своей работы, точнее для связи с остальными компонентами ком пьютера, используют шину ISA . Это такие устройства, как последователь ные, параллельный и инфракрасный порты, порты для подключения клавиатуры и мыши, контроллер флоппи-дисковода. Все они используются до сих пор, поэтому избежать аппаратного конфликта иногда сложно.
Аппаратный конфликт — это ситуация, когда несколько устройств одновре менно пытаются получить монопольный доступ к одному и тому же ресурсу компьютера, причем компьютер начинает давать сбои в работе одного или нескольких устройств, а то и вообще зависает без всяких предупреждений или сообщений об ошибке.
Ресурсы компьютера можно разделить на три основных группы: прерывания, каналы DMA и порты ввода/вывода.
Прерывания ( IRQ , Interrupt Request ) представляют собой физические сигна лы, при помощи которых специальный контроллер переключает вычисли тельные мощности центрального процессора от одного устройства к друго му, позволяя, таким образом, одновременно обрабатывать последовательно все поступающие запросы. Различают аппаратные и программные прерыва ния — в данном случае имеется в виду первый тип. Если устройство не подает запрос на выполнение определенных действий, тогда соответствующее ему прерывание не генерируется.
Для работы любого устройства рекомендуется наличие свободного прерыва ния, при этом старое оборудование всегда требует для себя уник&тьного но мера прерывания, в то время как некоторые наиболее современные устрой ства вполне могут обойтись так называемыми разделяемыми прерываниями. Кроме того, ставится условие, чтобы устройства, использующие одно пре рывание, не работали одновременно, хотя и здесь имеется ряд нюансов.
Аппаратные прерывания могут происходить в любой момент, так что никто не застрахован от ситуации, когда два прерывания могут возникнуть одно временно. В этом случае система прибегает к специальной таблице приори тетов, где каждому прерыванию назначен уникальный приоритет.
Как уже говорилось, немалое количество ресурсов резервируется под ис пользование их старым оборудованием, поэтому рекомендуется изучить всю таблицу прерываний (табл. 20.1), которую устанавливает операционная сис тема по умолчанию.
Таблица 20.1. Таблица прерываний , устанавливаемая по умолчанию
Прерывание |
Устройство, назначаемое по умолчанию,
рекомендации по настройке |
IRQO |
Прерывание системного таймера, который отвечает за работу ча-
сов реального времени. Применяется со времен первых IBM PC и
для использования другими устройствами недоступно |
IRQ1 |
Прерывание клавиатуры. Генерируется при каждом нажатии на
клавиши. Для другого использования недоступно |
IRQ2 |
Сегодня резервируется исключительно ради совместимости со
старыми программами. Для другого использования недоступно |
IRQ3 |
Прерывание назначается по умолчанию последовательному порту
COM2. Этим прерыванием пользуются устройства, использующие
"парный" порт COM4. Для других устройств это прерывание может
стать доступным только после отключения порта в BIOS |
IRQ4 |
Прерывание назначается по умолчанию последовательному порту
С0М1. Этим прерыванием пользуются устройства, использующие
"парный" порт COM3. Для других устройств это прерывание может
стать доступным только после отключения порта в BIOS |
IRQ5 |
Прерывание используется звуковыми платами ISA и более новыми
PCI. Современные звуковые платы занимают это прерывание ис-
ключительно ради совместимости со старыми программами. Пре-
рывание доступно для использования другими устройствами, но в
этом случае возможны проблемы с запуском старых игр |
IRQ6 |
Прерывание используется контроллером флоппи-дисковода. Для других устройств это прерывание может стать доступным только после отключения контроллера в BIOS |
IRQ7 |
Прерывание используется параллельным портом при работе в ре- жимах ЕРР и ЕСР. Для других устройств это прерывание может стать доступным только после отключения порта в BIOS или при выборе режима SPP (Normal) |
IRQ8 |
Прерывание используется часами реального времени. Для исполь
зования другими устройствами невозможно |
IRQ9 |
Прерывание свободно для использования другими устройствами |
IRQ10 |
Прерывание свободно для использования другими устройствами |
IRQ11 |
Прерывание используется шиной USB. Для других устройств это прерывание может стать доступным только после отключения шины в BIOS, т. к. даже при отсутствии подключенных устройств это пре рывание недоступно для использования другими устройствами |
IRQ12 |
Прерывание используется для мыши PS/2. Для других устройств это прерывание может стать доступным только после отключения порта в BIOS, т. к. даже при отсутствии мыши прерывание резерви руется и недоступно для использования другими устройствами |
IRQ13 |
Прерывание раньше использовалось для математического сопро
цессора, сегодня резервируется ради совместимости со старыми программами. Для использования другими устройствами недос тупно |
IRQ14 |
Прерывание используется первым каналом контроллера IDE. Для других целей может быть использовано только после отключения канала в BIOS |
IRQ15 |
Прерывание используется вторым каналом контроллера IDE. Для других целей может быть использовано только после отключения канала в BIOS |
Не стоит понимать фразу "это прерывание может стать доступным" буквально, т. к. далеко не все устройства могут занимать выбранное вами прерыва ние. Яркий пример — звуковые платы. Практически все звуковые платы могут работать только либо с IRQ 5, либо IRQ 10, в то время как все остальные для них вполне могут оказаться недоступными.
Для уменьшения вероятности возникновения аппаратных конфликтов реко мендуется придерживаться следующей последовательности установки уст ройств:
? сначала собирается базовая конфигурация — процессор и кулер для него, модуль памяти, видеоплата, жесткий диск и привод CD - ROM ;
О внутренний модем ( PCI или ISA ). Внешний модем подключается к одно му из последовательных портов, поэтому его настройка обычно не вызы вает больших проблем;
После установки каждого последующего устройства в компьютер может произойти аппаратный конфликт. При этом может потребоваться изменить порядок установки компонентов, которые уже установлены в вашем компь ютере (то есть потребуется изменить порядок, какое устройство будет уста навливаться первым, какое — вторым, какое — третьим и т. д.). Как пока зывает практика, время от времени встречаются компьютеры, которые нормально работают только в случае строгого соблюдения или указанной выше последовательности сборки или иной, в противном случае добиться стабильной работы бывает крайне сложно.
Несмотря на то, что аппаратные конфликты встречаются нередко, в послед нее время все чаще и чаще причиной сбоев становятся драйверы устройств. Если во времена процессоров Pentium / Pentium II было достаточно устано вить Windows 98 и на этом вся настройка могла быть закончена, то теперь приходится устанавливать разнообразные "патчи", "сервис-паки" и прочее. И далеко не всегда на компакт-диске с драйверами, который идет в ком плекте с каждым устройством, можно найти весь комплект, а то и просто нормально работающий драйвер. В таком случае приходится или мириться с ситуацией, или искать в Интернете другие версии драйверов, которые бу дут работать нормально. Яркий пример — многочисленное поколение драй веров для видеоплат от nVidia , так называемые Detonator ' bi . К тому же если все проблемы начинаются после переустановки операционной системы, стоит предположить, что все-таки виноваты в этом именно драйверы, хотя каждый случай требует отдельного разбирательства.
Устранение аппаратных конфликтов
Перед тем как устанавливать новое устройство, желательно записать или запомнить, какое устройство какой ресурс использует. Это и прерывания, и каналы DMA , а еще и области оперативной памяти, так называемые порты ввода/вывода. Это поможет вам впоследствии относительно быстро восста новить прежнюю конфигурацию, если, например, нужно срочно доделать работу, а времени разбираться с проблемой нет.
Узнать, как в данный момент распределены номера прерываний на вашем ПК, можно, запустив программу Сведения о системе из раздела Служебные программы. Также можно просмотреть список прерываний в Панели управления
операционных систем Windows 9x, выбрав в свойствах Системы пункт Диспетчер устройств. Каждый раз после установки нового устройства или компонента системы, которым требуется прерывание, записывайте номера прерываний и названия устройств, которым эти прерывания назначены. Эти сведения помогут вам в разрешении аппаратных конфликтов.
После того как вы подключили новое устройство, обязательно обратите внимание на то, как изменилось распределение ресурсов. В первую очередь изучите таблицу, что выводится на экран монитора перед началом загрузки операционной системы. Чтобы остановить на время запуск компьютера, можно воспользоваться клавишей <PAUSE>, которая расположена в верхнем правом углу. Чтобы поймать нужный момент, возможно, придется нажать ее несколько раз. В таблице указано, какое устройство какое прерывание занимает. Если вы обнаружите два или более устройств, возле которых стоит одна и та же цифра, скорее всего, одно из этих устройств нормально работать не будет. Особенно важно это, если конфликт связан с видеоплатой, т. к. в таком случае система может вообще не загрузиться.
Для уменьшения вероятности аппаратных конфликтов следует совершить следующие действия:
При подключении новых устройств могут возникать самые разнообразные проблемы, а не только аппаратные конфликты, например система Plug and Play вообще никаким образом не определяет новое устройство, создавая впечатление его неисправности, даже если на другом компьютере оно работало исправно. Такое может случиться или в том случае, если устройство не поддерживает стандарт Plug and Play (например, наиболее старые ISA платы), или если не поступает напряжение питания (например, для устройства необходимо использовать дополнительный источник питания, или разъем недостаточно плотно подключен), или устройство неисправно. В первом случае следует обратиться к документации устройства, выяснить, какие ресурсы устройство должно использовать, после чего зарезервировать их при помощи параметров BIOS. Во втором случае следует проверить качество соединения всех разъемов и наличие напряжения на соответствующих выводах. В третьем случае ответ краток — ищите в срочном порядке гарантийный талон, если таковой имеется, и несите в сервис-центр.
Если какое-либо устройство, например контроллер шины USB, не отключается при помощи параметров BIOS, можно отключить его в Диспетчере устройств Windows, что, в общем-то, практически однозначно первому способу.