- •Введение
- •Общие принципы проектирования информационных систем (ис)
- •Системный подход к проектированию. Описание объекта управления. Общие принципы построения и структура систем управления технологическими процессами.
- •Автоматные таблицы. Назначение. Правила составления. Примеры применения.
- •Графы переходов. Назначение. Правила составления. Примеры применения.
- •Автоматы Мура, Мили.
- •Схемы алгоритмов. Назначения. Правила составления. Примеры применения.
- •Распределение алгоритма процесса управления на подсистемы.
- •Декомпозиция алгоритма подсистемы на частные алгоритмы
- •Технология проектирования ис Основные понятия и определения
- •Жизненный цикл (жц) ис
- •Системный анализ
- •Системный синтез
- •Внедрение проекта
- •Эксплуатация и сопровождение проекта
- •Состав стадий и этапов канонического проектирования ис
- •Состав и содержание работ на предпроектной стадии
- •Состав и содержание работ на стадии технорабочего проектирования
- •Состав и содержание работ на стадии внедрения, эксплуатации и сопровождения проекта
- •Методы неканонического проектирования ис Проектирование как трехступенчатый процесс
- •Выбор стратегий и методов проектирования.
- •Описание некоторых неканонических методов проектирования.
- •I. Методы дивергенции.
- •II. Методы трансформации.
- •III. Методы конвергенции.
- •Особенности проектирования некоторых подсистем информационной системы Проектирование системы питания ис
- •Проектирование системы связи в управляющих системах
- •Проектирование информационной базы при различных способах реализации
- •Проектирование экранных форм электронных документов
- •Специфика управления проектированием ис
- •Типы схем организации проектирования
- •Построение структуры су процессами и производством. Назначение, цели и функции асу тп
- •Структура управляющей системы и ее вычислительных средств
- •Основные типы структур асу
- •Оценка деления системы на части
- •Иерархический принцип построения систем управления производством.
- •Системы диспетчерского управления (Scada-системы)
- •Функциональная структура Scada
- •Особенности Scada как асутп
- •Основные требования к Scada-системе
- •Область применения
- •Оперативное управление в реальном времени Определение и виды систем реального времени (срв)
- •Комплекс технических средств (ктс) срв
- •Устройства связи с оперативным персоналом (усоп)
- •Датчики
- •Исполнительные устройства (механизмы)
- •Специфика и свойства операционных систем реального времени (осрв)
- •Параметры осрв
- •Краткий обзор и классификация осрв
- •Требования к языкам рв
- •Структура программ срв
- •Последовательное программирование и программирование задач рв
- •Задачи, процессы, потоки в рв
- •Основные свойства задач
- •Планирование задач в срв
- •Циклический (круговой) алгоритм
- •Разделение времени
- •Кооперативная многозадачность
- •Приоритетная многозадачность с вытеснением
- •Синхронизация задач в осрв
- •Связанные задачи
- •Общие ресурсы
- •Синхронизация с внешними и внутренними внештатными событиями
- •Синхронизация по времени
- •Применение сетей Петри для проектирования в рв.
- •Заключение
- •Список рекомендуемой литературы.
Синхронизация с внешними и внутренними внештатными событиями
СРВ соединены с внешней средой через аппаратные интерфейсы. Доступ к интерфейсам и, следовательно, к внешним данным осуществляется либо по опросу, либо по прерыванию.
При опросе СРВ циклически последовательно проверяет все входные порты на наличие у них новых данных, которые затем считываются и обрабатываются. Опрос является простым, но эффективным методом из-за повторяющихся проверок входных портов.
Больший эффект достигается при использовании прерываний, когда интерфейсное устройство, получившее новые данные привлекает внимание процессора, посылая ему сигнал прерывания через системную шину. По отношению к текущему процессу прерывания являются асинхронными событиями, требующими немедленной реакции. Получив сигнал прерывания, процессор приостанавливает исполнение текущей задачи, сохраняя в стеке ее контекст, считывает из таблицы адрес программы обработки прерывания и передает управление ей. Эту программу называют обработчиком прерывания.
Когда процессор передает управление обработчику прерывания, он обычно сохраняет только счетчик команд и указатель на стек текущего процесса. Обработчик прерываний должен сохранить во временных буферах или стеке все регистры, которые он собирается использовать, и восстановить их в конце. Эта операция критична по времени и требует запрета прерываний для того, чтобы избежать еще одного переключения процесса во время ее выполнения.
При управлении прерываниями реакция СРВ должна быть как можно меньше (короче). Если система должна обслуживать много одновременных прерываний, то вновь поступающие прерывания будут ждать в очереди, пока процессор не освободиться. Программа обработки прерывания должна быть предельно компактной, т.е. иметь минимальное время выполнения. Если сложное действие, требующее большого расхода процессорного времени (доступ к базе данных), необходимо выполнить после возникновения прерывания, то его лучше вынести из обработчика прерывания в процесс. Другими словами необходимые операции, в частности, считать входные данные, сформировать сообщение и передать его другой программе.
Хорошим стилем для обработчиков прерываний является использование реентерабельного кода (смотри реентерабельность). Это позволяет избежать конфликта, если прерывается сам обработчик и тот же код вызывается для обслуживания нового прерывания, прежде чем закончилась обработка предыдущего.
Реакция на исключение похожа на обработку прерываний. Исключениями считаются внутренние внештатные события, когда процессор не может правильно выполнить команду, например, деление на ноль, обращение по несуществующему адресу и т.п. ОС (операционная система) общего назначения в подобных ситуациях прекращает текущий процесс и выводит сообщение, четко описывающее возникшую ситуацию, на устройства отображения (монитор, принтер).
Приемлемая при интерактивной многопользовательской, последовательной обработке внезапная остановка процессора в СРВ должна быть абсолютно исключена.
В СРВ все возможные исключения должны анализироваться заранее с определением соответствующих процедур обработки.
Сложной проблемой при обработке исключений является проверка, что исключение не возникнет снова после того, как оно было обработано. Или иными словами, обработчик исключений должен заниматься причинами, а не симптомами аномальной ситуации. Если исключение обработано не корректно, оно может возникнуть опять, заставляя процессор снова и снова выполнять один и тот же фрагмент программы.
Реализация рассмотренного механизма ОСРВ связано со следующими тенденциями:
Стремление обеспечить максимально быструю и детерминированную реакцию системы на внешнее событие.
Старания добиться минимально возможных периодов времени, когда в системе запрещены прерывания.
Обработчик прерываний должен выполнять минимальный объем функций за максимально короткое время.
