Определение прерывания. Типы прерывания.

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

Типы прерывания:

1. Внешние (асинхронные, в терминах Intel маскируемые) прерывания – вызываются событиями, происходящими в не прерываемого процесса: прерывание от таймера, прерывание от внешних устройств по вводу/выводу, прерывание по нарушению питания, прерывание от другого процессора или другой ВМ.

2. Внутренние (синхронные прерывания) прерывания – вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями: нарушение адресации, непонятная команда, деление на ноль и другие ошибки. Отдельный тип внутренних прерываний – программные прерывания.

У процессора есть 2 режима работы:

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

2. Привилегированный – в котором выполняются все системные команды.

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