§1.2. Построение информационно-управляющих систем реального времени на базе операционной системы qnx
Основным назначением любой операционной системы (ОС) является управление ресурсами компьютера. Все процессы в системе: планирование выполнения прикладных программ, запись файлов на диск, пересылка данных по сети и т.д. должны выполняться как можно более единообразно и бесконфликтно.
Некоторые прикладные системы могут предъявлять повышенные требования к управлению ресурсами и планированию процессов. Например, работа приложений реального времени зависит от того, как операционная система управляет большим количеством событий, возникающих за конечные интервалы времени. Чем больше функций берет на себя ОС, тем более свободно работают эти приложения при возникновении конфликтных ситуаций.
Для приложений, работающих в режиме реального времени, QNX является идеальной операционной системой. Она удовлетворяет всем основным требованиям, предъявляемым к системам реального времени: в ней реализован многозадачный режим, приоритетно-управляемое планирование и быстрое переключение контекста.
Кроме того, система QNX обладает большой гибкостью. Разработчики могут легко адаптировать ее под требования своих приложений. Настройка системы QNX может быть выполнена от минимальной (ядро и несколько небольших модулей) до полной сетевой конфигурации (обслуживание сотен пользователей), позволяя использовать в каждом конкретном случае только те ресурсы, которые необходимы.
Уникальная эффективность, модульность и простота системы QNX определяется следующими параметрами:
– архитектурой ядра;
– взаимодействием между процессами посредством сообщений.
Архитектура ядра системы QNX
Система QNX состоит из небольшого ядра (микроядра) и набора взаимодействующих процессов. Микроядерная ОС построена на основе миниатюрного ядра, обеспечивающего минимальные службы для произвольной группы взаимодействующих процессов, которые, в свою очередь, обеспечивают функциональность более высокого уровня. Система не имеет иерархической структуры, в ней процессы, имеющие равную значимость, взаимодействуют друг с другом и со своим ядром.
Ядро системы QNX
В некоторых системах на ядро возложено такое количество функций, что, по сути дела, оно само является операционной системой.
В системе QNX ядро является действительно ядром. Прежде всего, как и подобает ядру операционной системы реального времени, оно имеет небольшой размер – менее 8 кбайт. На ядро ОС QNX возложено выполнение только двух основных функций:
Передача сообщений – ядро QNX реализует передачу всех сообщений между всеми процессами во всей системе;
Планирование – планировщик является частью ядра и подключается каждый раз, когда процесс меняет свое состояние в результате появления сообщения или прерывания.
В отличие от процессов само ядро никогда не планируется к выполнению. Управление передается ядру только в результате прямого вызова ядра либо из процесса, либо по аппаратному прерыванию.
Системные процессы
Все функции, выполняемые ОС QNX, за исключением функций ядра, реализуются стандартными процессами. В типичной конфигурации системы QNX имеются следующие системные процессы:
администратор процессов (Proc);
администратор файловой системы (Fsys);
администратор устройств (Dev);
сетевой администратор (Net).
Системные процессы и процессы пользователя
Системные процессы практически ничем не отличаются от любого процесса пользователя: у них нет специального или скрытого интерфейса, недоступного процессу пользователя.
Именно такая архитектура обеспечивает системе QNX неограниченную расширяемость. Поскольку большинство функций QNX выполняется стандартными системными процессами, то расширить ОС совсем не сложно: достаточно написать и включить в систему программу, реализующую новую функцию ОС.
Действительно, грань между ОС и прикладными программами весьма условна. Единственным принципиальным отличием системных процессов от прикладных является то, что системные процессы управляют ресурсами системы, предоставляя их прикладным процессам.
Драйверы устройств
Драйверы устройств – это процессы, которые избавляют ОС от необходимости иметь дело со всеми особенностями работы аппаратного обеспечения.
Поскольку драйверы выполняются как стандартные процессы, то добавление нового драйвера в систему QNX не влияет на работу других компонентов ОС. Единственное изменение, которое происходит в среде QNX – это запуск нового драйвера.
Драйвер может быть оформлен либо как дополнение к системному процессу, либо, для сохранения его «индивидуальности», в качестве стандартного процесса.
Связь между процессами
В типичной многозадачной среде, при одновременном выполнении нескольких процессов реального времени, ОС должна обеспечивать возможность взаимодействия процессов друг с другом.
Связь между процессами (interprocess communication – IPC) является ключом к разработке приложений, представляющих собой набор взаимосвязанных процессов, в котором каждый процесс выполняет одну строго определенную функцию.
В QNX реализован простой, но мощный набор IPC возможностей, благодаря которому значительно упрощается разработка приложений, представляющих набор взаимодействующих процессов.
Операционная система с передачей сообщений
QNX стала первой коммерческой ОС данного класса, в которой IPC основан на принципе передачи сообщений. Именно благодаря глобальному использованию передачи сообщений во всей системе, ОС QNX обладает присущей ей мощностью и простотой.
В системе QNX под сообщением понимается пакет байтов, передаваемый от одного процесса к другому. QNX не предъявляет никаких требований к содержимому сообщения: данные в сообщении имеют значение только для его отправителя и получателя.
Посредством передачи сообщений происходит не только передача данных между процессами, но также синхронизация выполнения нескольких процессов. При передаче, получении и выдаче ответа на сообщения процессы изменяют свое состояние, что определяет время и продолжительность их выполнения. Располагая информацией о состоянии и приоритетах процессов, ядро может максимально эффективно планировать их выполнение, используя все доступные ресурсы центрального процессора. Этот метод передачи сообщений используется глобально во всей системе.
Механизм передачи сообщений, используемый в QNX, позволяет обеспечить высокую надежность работы приложений.
QNX как сеть
В основе собственной сети ОС QNX Neutrino лежит протокол Qnet, который реализуется в виде сети сильносвязанных машин. Этот протокол позволяет машинам эффективно обмениваться ресурсами с минимальными накладными расходами. В сети Qnet можно пользоваться стандартными утилитами (cp, mv,…) для управления файлами в любом месте сети. Кроме того, протокол Qnet не выполняет аутентификацию удаленных запросов, так как файлы защищаются обычными правами доступа, применяемыми для пользователей и пользовательских групп. Вы можете не только иметь доступ к файлам, но и запускать или останавливать процессы (в том числе различные администраторы) на любой машине в сети Qnet.
Возможности распределенных вычислений в сети Qnet позволяют эффективно выполнять следующие задачи:
использовать удаленную файловую систему,
масштабировать приложения с невероятной легкостью,
создавать приложения, в которых используется множество процессов, прозрачным образом взаимодействующих между собой посредством механизма обмена сообщениями,
с легкостью переносить выполнение приложения с одного процессора или симметричной мультипроцессорной машины на несколько однопроцессорных машин, и распределять все процессы между этими процессорами,
разбивать приложения на несколько процессов, выполняющих разные функции (при этом процессы координируют свою работу с помощью механизма обмена сообщениями),
использовать собственную службу удаленного вызова процедур сети Qnet.
В простейшем случае локальная вычислительная сеть реализует механизм разделения файлов и внешних устройств между несколькими взаимосвязанными компьютерами. В системе QNX эта концепция получила дальнейшее развитие, в результате чего вся сеть стала представлять собой единый однородный набор ресурсов.
Любой процесс на любой машине сети может использовать любой ресурс любой машины. Приложению не требуется иметь никаких специальных средств для обеспечения доступа к удаленному ресурсу. Программа указывает только специальный код, для того, чтобы система определила, принадлежит ли ресурс, например, файл или устройство, своему компьютеру или другому узлу сети.
Пользователи имеют доступ ко всем файлам сети, могут использовать любое внешнее устройство и запускать приложения на любой машине сети (при условии, что они имеют на это соответствующее полномочие). Соответственно, все процессы могут взаимодействовать между собой по всей сети. Таким образом, механизм передачи сообщений, средствами которого реализован IPC в системе QNX, обеспечивает гибкую и прозрачную сетевую обработку.
Однокомпьютерная модель
Система QNX изначально разрабатывалась как сетевая операционная система. В некоторых аспектах сеть QNX скорее похожа на универсальную вычислительную машину, чем на набор микрокомпьютеров. В частности, благодаря большому набору ресурсов, которые могут быть доступны любому приложению. Но в отличие от универсальной машины QNX обеспечивает высокореактивную среду, поскольку любой узел сети может задействовать требуемые ему вычислительные мощности.
Например, управляющие работой устройств ввода/вывода программы, работающие в реальном времени, могут потребовать больше ресурсов, чем другие, менее критичные ко времени, приложения (текстовый процессор). QNX позволяет сконцентрировать вычислительную мощность там, где это необходимо, без ущерба для параллельной обработки данных.
Гибкая сетевая обработка
Сети QNX могут быть объединены на базе различного аппаратного обеспечения и различных протоколов промышленного стандарта. Поскольку эти сети являются совершенно прозрачными для прикладных программ, то новая сетевая архитектура может быть внедрена в любое время без внесения изменений в операционную среду.
Каждому узлу сети QNX присвоен номер, являющийся его идентификатором. Этот номер служит единственным признаком, позволяющим определить, работает ли QNX как сеть или как однопроцессорная ОС.
Такая высокая степень прозрачности является еще одним примером исключительной мощности архитектуры ОС QNX, основанной на передаче сообщений. Во многих операционных системах такие функции, как сетевая обработка, связь между процессами (IPC) или даже передача сообщений, выполняются не ядром, а надстройкой над ОС. В результате получается интерфейс «двойного стандарта», в котором отдельно организована связь между процессами и совершенно иначе – доступ к закрытому монолитному ядру.
В основе системы QNX лежит принцип: эффективная связь – принцип эффективной работы. Таким образом, принцип передачи сообщений является определяющим для архитектуры системы QNX. Именно благодаря ему обеспечивается эффективная передача всех транзакций между процессами системы, как по внутренней шине компьютера, так и по сети.
На базе сетевой операционной системы реального времени QNX построен специализированный пакет программ для построения АСУ ТП с использованием стандартных вычислительных техник. Базовый пакет Real Flex (средство построения) представляет собой весь необходимый набор средств для создания программного обеспечения средств АСУ ТП.
- Автоматизированные информационно-управляющие системы Учебное пособие
- Оглавление
- Часть I. Автоматизированные информационно-управляющие системы Основные понятия
- Глава 1. Информационно-управляющие системы реального времени §1.1. Особенности информационно-управляющих систем реального времени
- 1.1.1. Определение и основные характеристики информационно-управляющих систем реального времени
- 1.1.2. Операционные системы реального времени
- 1.1.3. Обзор систем реального времени
- §1.2. Построение информационно-управляющих систем реального времени на базе операционной системы qnx
- §1.3. Scada – системы
- §1.4. Scada – система trace mode
- 1.4.1. Обзор системы trace mode
- 1.4.2. Функциональная структура пакета
- 1.4.3. Обзор внедрения системы trace mode
- §1.5. Программно-технический комплекс DeltaV
- 1.5.1. Обзор системы DeltaV
- 1.5.2. Концепции системы DeltaV
- 1.5.3. Программные приложения DeltaV
- §1.6. Программно-технический комплекс Квинт
- 1.6.1. Описание
- 1.6.2. Структура программно-технического комплекса Квинт
- 1.6.3. Архитектура
- 1.6.4. Контроллеры
- 1.6.5. Рабочие станции
- 1.6.6. Сети
- 1.6.7. Система автоматизированного проектирования асу тп
- 1.6.8. Примеры внедрения
- §1.7. Системы автоматизации фирмы Siemens8
- 1.7.1. Состав программно-технического комплекса Totally Integrated Automation
- 1.7.2. Примеры автоматизации технологических процессов9
- §1.8. Системы автоматизации фирмы авв10
- 1.8.1. Основные направления деятельности
- 1.8.2. Системы управления, предлагаемые авв Автоматизация в России
- Глава 2. Обеспечивающие подсистемы информационно-управляющих систем и их характеристики §2.1. Программное обеспечение управления процессами
- 2.1.1. Реализация языков программирования стандарта мэк 6-1131/3 в системе trace mode
- 2.1.2. Описание языков программирования
- 2.1.3. Реализация регуляторов и объектов управления в scada-системе TraceMode
- §2.2. Программное обеспечение секвенциально-логического управления
- 2.2.1. Программируемые логические контроллеры
- 2.2.2. Языки программирования логических контроллеров
- 2.2.3. Пример реализации секвенциально-логических алгоритмов в trace mode
- §2.3. Средства идентификации и оптимизации
- 2.3.1. Идентификация характеристик технологических объектов
- 2.3.2. Идентификация характеристик технологических объектов с использованием стандартных методов Excel
- 2.3.3. Решение задачи оптимизация технологических объектов
- §2.4. Средства интеллектуального анализа данных
- 2.4.1. Общие представления о Data Mining13
- 2.4.2. Задачи Data Mining
- 2.4.3. Классы систем Data Mining
- 2.4.4. Основные этапы Data Mining
- Глава 3. Проектирование информационно-управляющих систем §3.1. Основные проблемы, системный подход и последовательность разработки
- §3.2. Адаптация информационно-управляющих систем к области применения
- §3.3. Информационные технологии проектирования иус
- §3.4. Концепции информационного моделирования
- Часть II. Примеры автоматизированных информационно-управляющих систем в управлении энергетической эффективностью технологических процессов
- 1. Оперативное управление технологическими процессами с прогнозом показателей энергетической эффективности16
- 2. Оперативное управление потоками энергетических ресурсов в производственных сетях с учетом динамики их аккумулирования19
- 3. Автоматизированная система диспетчерского управления теплоснабжением зданий на основе полевых технологий20
- 4. Паспортизация промышленных потребителей топливно-энергетических ресурсов с использованием средств автоматизации21
- 5. Оперативное управление экономичностью водяных тепловых сетей на основе макромоделирования22
- Подсистема автоматизированного анализа режимов теплоснабжения
- Методика анализа режимов тепловых сетей на основе макромоделирования
- Программное обеспечение анализа режимов тепловых сетей на основе макромоделирования
- 6. Оперативное регулирование экономичности горения в энергетических котлах24
- 7. Автоматизированный мониторинг тепловой экономичности оборудования электрических станций 27
- Резервы тепловой экономичности котлов
- Показатели энергетических ресурсов турбоагрегатов
- Резервы тепловой экономичности турбоагрегатов
- Оптимальное использование пара
- 8. Оптимизация нагрузки параллельно работающих турбоагрегатов по данным эксплуатации при неполных исходных данных28
- Постановка задачи оптимизации
- Решение задачи оптимизации
- Программа «тг-пар»
- Пример работы программы
- 9. Автоматизированная информационная система мониторинга остаточного ресурса энергетического оборудования30
- Методика оценки обобщенного остаточного ресурса энергетического оборудования
- Алгоритм оперативной оценки обобщенного остаточного ресурса энергооборудования с учетом состояния металла
- Программное обеспечение аис «Ресурс»
- 10. Автоматизированное управление процессами в охладительных установках электрических станций35
- Факторы, влияющие на охлаждение
- Устройство и основные характеристики градирен
- Оптимизация работы башенных градирен
- 11. Автоматизированная компрессорная установка41
- Математическое описание объекта управления
- Анализ вариантов установки пароструйного компрессора для подачи пара в деаэраторы энергокорпуса
- Автоматизированная система управления пароструйным компрессором
- 12. Лингвистический подход к оптимизации управления вельц-процессом45
- Алгоритм выделения области Парето-оптимальных режимов в информационной базе данных
- Нечеткие зависимости (лингвистические правила) в управлении процессом вельцевания
- 13. Энергетический менеджмент производства огнеупоров48
- Приложение. Обзор промышленных сетей
- 1. Протокол передачи данных modbus50
- 2. Протокол передачи данных bitbus
- 3. Протокол передачи данных anbus
- 4. Протокол передачи данных hart
- 5. Протокол передачи данных profibus52
- 5.1. Независимые от поставщика взаимодействия между промышленными объектами (Fieldbus Communication).
- 5.2. Семейство profibus
- 5.3. Основные характеристики profibus-fms и profibus-dp
- 5.3.1. Архитектура протокола profibus
- 5.3.2. Физический Уровень (1) протокола profibus
- 5.4.1. Прикладной Уровень (7)
- 5.4.2. Коммуникационная модель
- 5.4.3. Объекты коммуникации
- 5.4.4. Сервисные функции fms
- 6. Полевая шина foundation Fieldbus53