Материалы

Программные прерывания

Рейтинг:   / 0
ПлохоОтлично 

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

Особенности вызова-возврата при прерывании:

1) сохранение большей части контекста, чем при выполнении call,
2) хранение адреса перехода в определенном месте (в векторе прерывания).

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

В системах команд многих процессоров есть команда (команды) программных прерываний (software interrupt), позволяющие запустить механизм прерывания программно. Чаще всего для таких команд используются мнемоники int (от interrupt - прерывание) или trap (англ. ловушка). Команда обычно имеет один параметр, указывающий номер прерывания (т.е. фактически задающей адрес вектора - местоположение ячеек, хранящих адрес перехода на соответствующую подпрограмму).

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

Яндекс.Метрика