Сохранение состояния прерываемой программы

Опубликовано февраля 10, 2018 в Архитектура процессора Intel

Эта функция (сохранение состояния (контекста) прерываемой программы) реализуется частично на аппаратном и частично на программном уровнях.

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

Вызов соответствующего обработчика прерываний.

Вызов обработчика прерываний реализуется чисто на аппаратном уровне и предполагает загрузку начального адреса программы-обработчика, обычно называемого вектором прерываний в соответствующие регистры ЦП (для процессоров INTEL такими регистрами являются CS и IP).

Команды перехода но счетчику

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

Обработка прерываний реализуется на программном уровне путем выполнения соответствующей программы-обработчика.

Восстановление состояния (контекста) прерываемой программой и возобновление ее выполнения.

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