1. Причины возникновения прерываний:
1.1.Сигнал пришедший по линии INTR или NMI.
INTR – маскируемое прерывание; NMI – не маскируемое прерывание.
I – флаг запрещает обработку маскируемых прерываний. такой вид прерываний применяется для управления оборудованием.
1.2. Аналогичная ситуация выполняется программно. Пример деление на 0.
1.3. Выполнение команды INT – программное прерывание. Предназначается в основном для предоставления программам сервиса ОС.
2. Классификация особых случаев. Прерывание в особых случаев.
2.1. Ловушка. Обнаруживается после выполнения команды. К ловушкам относятся и такой особый случай, как деление на 0. При возникновении ловушки, процессор генерирует соответствующее прерывание, внутри которого, можно попытаться исправить ситуацию. После завершения обработки прерывания, выполнение продолжается со следующей команды, после вызвавшей особый случай. К ловушкам относятся прерывания по переполнению, прерывания контрольной точки, особые случаи отладки и программное прерывание.
2.2. Нарушение обнаруживается до фактического выполнения команды. После обработки выполнение программы продолжается с той же самой команды, которая вызвала нарушение, пример страничное нарушение.
2.3. Авария – серьезный особый случай приводящий к завершению программы. Чаше всего вызывается двойным нарушением, когда одно нарушение до конца не обработано и возникает второе.
Прерывания и особые случаи.
05 Мар, 2009
