Таблица 6.9. Паттерн управления на основе прерываний
Имя
|
Управление на основе прерываний
|
Описание
|
В системе присутствует набор обработчиков. Специализация обработчиков задается системой. Каждая категория прерываний обслуживается своим обработчиком. Обработчик только регистрирует прерывание, а затем передает управление заранее определенному процессу
|
Пример
|
Иллюстрация системы, управляемой прерываниями, приведена на рис. 6.14
|
Когда используется
|
Используется в системах реального времени со строгими требованиями по времени реакции. Данный паттерн может быть скомбинирован с паттерном менеджера. Менеджер управляет нормальной работой системы, а в критических ситуациях применяет управление, основанное на прерываниях
|
Преимущества
|
Быстрая реакция системы на внешние события
|
Недостатки
|
Система сложна в программировании и проверке. При тестировании системы затруднительно имитировать все прерывания. Число прерываний ограничено используемой аппаратурой (после достижения предела, связанного с аппаратными ограничениями, никакие другие прерывания не обрабатываются)
|
В системе с управлением на основе прерываний все прерывания разбиты на группы — типы, которые образуют вектор прерываний (рис. 6.14). Для каждого типа прерываний известна ячейка памяти, где хранится адрес обработчика прерывания. При получении прерывания аппаратный переключатель немедленно передает управление конкретному обработчику прерывания. После анализа (выясняется, какое событие вызвало прерывание)1 обработчик запускает необходимые процессы.
Одному типу прерывания может соответствовать несколько сигналов прерывания и, соответственно, несколько внешних событий.
Прерывания
Do'stlaringiz bilan baham: |