пеапиап. ПРЕРЫВАНИЯ. Прерывания прерывания
Скачать 192.18 Kb.
|
ПРЕРЫВАНИЯПрерыванияПрерывание (Interrupt) – сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерываний, который реагирует на событие и обслуживает его, после чего возобновляет прерванный процесс. Система прерываний - это совокупность программных и аппаратных средств, реализующих механизм прерываний. ПрерыванияВнешние(аппаратные) прерывания События, которые исходят от внешних источников (периферийных устройств) и могут произойти в любой произвольный момент Пр.: движение мыши, нажатие клавиши клавиатуры, сигнал от сетевой карты Внутренние прерывания (исключения) События в самом процессе как результат нарушения каких-то условий при исполнении машинного кода Пр.: обращение к недопустимым адресам, деление на ноль Происходят в случае возникновения программной ошибки или сбоя, после которого нельзя продолжить выполнение программы (например, деление на ноль, обращение по несуществующему адресу памяти). Возникают при выполнении команд программы.
Внешние прерывания (аппаратные)Прерывания могут возникать в результате действий пользователя или поступления сигналов от аппаратных устройств (например, сигналов завершения ввода-вывода от принтера или винчестера). Такие прерывания возникают между выполнением двух команд программы.На ПК используются от 15 до 64 аппаратных прерываний.Функции системы прерываний
Характеристики системы прерываний
Механизм обработки прерываний
Первые 3 шага реализуются аппаратными средствами, а остальные – программными.Вектор прерыванияВектором прерывания называют электрический сигнал, посылаемый на шины процессора.По вектору прерывания можно определить всю необходимую информацию для перехода к прерывающей программе, в том числе ее начальный адрес.Каждому уровню прерывания соответствует свой вектор прерывания.Векторы прерывания обычно находятся в специально выделенных фиксированных ячейках памяти.ПриоритетыАбсолютный приоритет Поступивший запрос с более высоким приоритетом, чем обрабатывающийся сейчас, прерывает выполняемую программу. Относительный приоритет Поступивший запрос является первым кандидатом на обслуживание после завершения выполнения текущей программы. Организация вложенных прерыванийПри наличии нескольких источников запросов прерываний должен быть установлен определенный порядок в обслуживании поступающих запросов.В системе установлены приоритетные соотношения между запросами прерываний. Например, программы пользователя имеют самый низкий приоритет и могут быть прерваны чем угодно. |