Аппаратные прерывания имеют иерархию приоритетов: чем меньше номер прерывания, тем выше приоритет. Прерывания с более высоким приоритетом обладают преимуществом и могут "прерывать прерывания". В результате в компьютере может возникнуть несколько "вложенных" прерываний. При генерации большого количества прерываний стек может переполниться и компьютер за- виснет. При этом будет выдано сообщение Internal stack overflow — system halted. Если такая ошибка возникает слишком часто при работе в DOS, попытайтесь исправить ситуацию, увеличив параметр stacks (размер стека) в файле Conf ig. sys. По шине ISA запросы на прерывание передаются в виде перепадов логических уровней, причем для каждого из них предназначена отдельная линия, подведенная ко всем разъемам. Каждому номеру аппаратного прерывания соответствует свой проводник. Системная плата не может определить, в каком разъеме находится пославшая прерывание плата, поэтому воз- Системные ресурсы 177 можно возникновение неопределенной ситуации в том случае, если несколько плат исполь- зуют один канал. Чтобы этого не происходило, система настраивается так, что каждое устрой- ство (адаптер) использует свою линию (канал) прерывания. Применение одной линии сразу несколькими разными устройствами и большинстве случаев недопустимо. Совместное ис- пользование прерывания допускается только устройствами PCI. Эта возможность поддержи- вается системной BIOS и операционной системой. Технология совместного использования прерываний для адаптеров PCI называется PCI IRQ Steering и поддерживается операционными системами, начиная с Windows 95 OSR 2.x, а также BIOS системной платы. Эта технология дает возможность Windows с поддержкой устройств Plug and Play динамически распределять стандартные прерывания для плат PCI (обычно использующих прерывание PCI INTA#), а также назначать одно прерывание нескольким платам PCI. Внешние аппаратные прерывания часто называются маскируемыми прерываниями, т.е. их можно отключить ("замаскировать") на время, пока процессор выполняет другие важные операции. Поскольку в шине ISA совместное использование прерываний обычно не допускается, при установке новых плат может обнаружиться недостаток линий прерываний. Если две платы ис- пользуют одну и ту же линию IRQ, то их нормальную работу нарушит возникший конфликт.