Лекции.Орг


Поиск:




Прерывания. Обработка прерываний




Прерывания – специфические сигналы, посылаемые процессору устройством или программой, когда требуется немедленное вмешательство.

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

Классификация: В зависимости от источника прерывания делятся на три больших класса:

· Внешние (аппаратные);

· внутренние

· программные

Внешние прерывания могут возникать в результате действий пользователя или оператора за терминалом, или же в результате поступления сигналов от аппаратных устройств.

Для внешних прерываний характерны следующие особенности:

· Внешнее прерывание обнаруживается процессором между выполнением команд (или между итерациями в случае выполнения цепочечных команд).

· Процессор при переходе на обработку прерывания сохраняет часть своего состояния перед выполнением следующей команды.

· Прерывания происходят асинхронно с работой процессора и непредсказуемо, программист ни коим образом не может предугадать, в каком именно месте работы программы произойдет прерывание.

Внутренние прерывания, называемые также исключениями (exception), происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы. Примерами исключений являются деление на нуль, ошибки защиты памяти, обращения по несуществующему адресу, попытка выполнить привилегированную инструкцию в пользовательском режиме и т. п.

· Исключительные ситуации обнаруживаются процессором во время выполнения команд.

· Процессор при переходе на выполнение исключительной ситуации сохраняет часть своего состояния перед выполнением текущей команды.

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

Исключительные ситуации можно разделить на исправимые и неисправимые. К исправимым относятся такие исключительные ситуации, как отсутствие нужной информации в оперативной памяти.

Неисправимые исключительные ситуации обычно возникают в результате ошибок в программах. Обычно операционная система реагирует на такие ситуации завершением программы, вызвавшей исключительную ситуацию.

Программное прерывание возникает при выполнении особой команды процессора, выполнение которой имитирует прерывание, то есть переход на новую последовательность инструкций. Программные прерывания – это удобный способ вызова процедур ОС.

Программные прерывания имеют следующие свойства:

· Программное прерывание происходит в результате выполнения специальной команды.

· Процессор при выполнении программного прерывания сохраняет свое состояние перед выполнением следующей команды.

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





Поделиться с друзьями:


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 760 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Слабые люди всю жизнь стараются быть не хуже других. Сильным во что бы то ни стало нужно стать лучше всех. © Борис Акунин
==> читать все изречения...

1224 - | 1197 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.