Основная концепция обработки прерываний
В различных ЭВМ существует различный набор типов прерываний, которые можно разделить на 6 классов.
1.
Программы-прерывания по системной директиве. Инициатор – активный процесс, выполнивший команду SVC (обращение к супервизору), то есть запрос на предоставление ОС какой-либо системной вычислительной услуги.
2. Прерывания ввода-вывода. Инициируются устройством ввода/вывода (УВВ) и сигнализируют ЦП о том, что произошло изменение состояния канала ввода-вывода (КВВ) или УВВ (например: завершение операции, ошибка, переход устройства в состояние готовности).
3. Внешние прерывания. Причинами их является нажатие операторами клавиш на панели ЭВМ или прием сигнала прерывания от другого ЦП в мультипроцессорной системе или сигнала от модема.
4. Прерывание по рестарту. Нажатие оператором на панели управления кнопки рестарта или Reset.
5. Логические прерывания по контролю программы вызываются программными ошибками, обнаруженными при выполнении программы (деление на ноль, попытка выполнить привилегированную команду в пользовательском режиме, неверный код операции, защита памяти и т.д.).
6. Прерывания по контролю машины вызываются аппаратными ошибками.
Планирование процессов включает в себя решение следующих задач:
1. Определение момента времени для смены выполняемого процесса.
2. Выбор процесса на выполнение из очереди готовых процессов.
3. Переключение контекстов "старого" и "нового" процессов.
Первые две задачи решаются программными средствами и будут рассмотрены в следующих разделах, а последняя выполняется, как правило, аппаратно.