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