Найти тему
IT Дракон

Хотел тусить, но передумал.

Прерывание - сигнал по которому процессор должен обязательно обратить внимание на что-то.

Обработчик прерываний - предназначен для выполнения ответных действий на условия.

Если нужно найти определенный обработчик нужно обратиться к таблице векторов прерывания (ТВП). В ней хранятся адреса с местоположением программ обработки прерывания. Таблица занимает 1024 первых байт оперативной памяти. Таблица состоит из 256 элементов на каждый элемент отводиться 4 байта. В элементе (ячейки) находится указатель состоящий из двух частей:
1 - смещение(помещается в регистр IP);
2 - сегмент адреса обработчика прерываний(помещается в регистр CS).
Номер прерывания 0 - адрес находится с 0 по 3 байт, 1 - адрес находится с 4 по 7 и т.д.

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

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

Прерывания разделяются на виды от источника возникновения:

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