Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Системы реального времени

Покупка
Артикул: 769628.01.99
Доступ онлайн
220 ₽
В корзину
Рассмотрены вопросы организации и построения систем реального времени. Сделан обзор современных автоматизированых информационных систем управления технологическими процессами и операционных систем реального времени используемых в них. Основное внимание уделено вопросу построения операционной системы реального времени QNX (QNX Software Systems Limited). Предназначено для студентов направлений 09.03.04. Программная инженерия. 09.04.04. Программная инженерия. Методы и технологии индустриального проектирования программного обеспечения
Гриценко, Ю. Б. Системы реального времени : учебное пособие / Ю. Б. Гриценко. - Томск : Томский государственный университет систем управления и радиоэлектроники, 2017. - 253 с. - Текст : электронный. - URL: https://znanium.com/catalog/product/1845908 (дата обращения: 26.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
 

 

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ 

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) 

 
 

Кафедра автоматизации обработки информации (АОИ) 

 

 

 

Ю.Б. Гриценко 

 

СИСТЕМЫ РЕАЛЬНОГО 

ВРЕМЕНИ  

 
 
 

Учебное пособие 

 

 

 

 

 

 

 

 

 

 

 

 

2017 

 

Гриценко Ю.Б. 

Системы реального времени: Учебное пособие. — Томск: 

Томский университет систем управления и радиоэлектроники, 
2017.  —  253 с. 

             
Рассмотрены вопросы организации и построения систем 

реального времени. Сделан обзор современных автоматизированых информационных систем управления технологическими 
процессами и операционных систем реального времени используемых в них. Основное внимание уделено вопросу построения 
операционной системы реального времени QNX (QNX Software 
Systems Limited). 

Предназначено для студентов направлений 09.03.04, Про
граммная инженерия, 09.04.04, Программная инженерия, Методы и технологии индустриального проектирования программного обеспечения 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

©    Гриценко Ю.Б., 2017 
 
 
 

Содержание 

Предисловие ................................................................................ 7 

1. 
Введение в системы реального времени ......................... 9 

1.1. Определения систем реального времени ............................ 9 

1.2. Области применения и вычислительные платформы СРВ

 
12 

1.3. Организация систем реального времени .......................... 19 
1.3.1. Типичное строение систем реального времени .............. 19 
1.3.2. Задачи, решаемые в системах реального времени ........ 20 
1.3.3. Архитектура приложений систем реального времени с 

учетом предсказуемости ................................................................. 22 

1.3.4. Проектирование систем жесткого реального времени .. 23 

Вопросы для самопроверки .......................................................... 29 

2. 
Автоматизированные системы управления 

технологическими процессами ........................................................... 30 

2.1. Этапы развития АСУТП ....................................................... 30 

2.2. Назначение компонентов систем контроля и управления

 
34 

2.3. Функциональные возможности SCADA-систем ................ 39 

2.4. Контроллеры ........................................................................ 41 

2.5. Технологические языки программирования контроллеров 

по стандарту IEC 1131.3 ..................................................................... 51 

Вопросы для самопроверки .......................................................... 54 

3. 
Организация операционных систем реального времени

 
55 

3.1. Функциональные требования ОСРВ ................................... 55 
3.1.1. Основные понятия, используемые при формировании 

функциональных требований к ОСРВ ............................................. 55 

3.1.2. Диспетчеризация потоков ................................................. 58 
3.1.3. Уровни приоритетов ........................................................... 63 
3.1.4. Механизмы синхронизации .............................................. 64 
3.1.5. Защита от инверсии приоритетов ..................................... 64 
3.1.6. Временные характеристики ОС ......................................... 66 
3.1.7. Принципиальные отличия ОСРВ от ОС общего 

назначения. ....................................................................................... 67 

3.2. Архитектуры построения ОСРВ ........................................ 69 
3.2.1. Монолитные ОС .................................................................. 69 
3.2.2. Уровневые ОС ..................................................................... 70 
3.2.3. Клиент-серверные ОС (модульная архитектура, 

архитектура на основе микроядра) ................................................ 71 

3.2.4. Объектная архитектура на основе объектов-микроядр.. 73 
3.2.5. Обобщенное построение ОСРВ ......................................... 74 

3.3. Разделение ОСРВ по способу разработки .......................... 75 

Вопросы для самопроверки .......................................................... 77 

4. 
Стандарты на ОСРВ .......................................................... 79 

4.1. Важность стандартов на ОСРВ ........................................ 79 

4.2. Стандарт SCEPTRE ............................................................... 79 

4.3. Стандарт POSIX ................................................................... 80 

4.4. DO-178B .................................................................................. 89 

4.5. ARINC-653 ............................................................................... 90 

4.6. OSEK ........................................................................................ 91 

4.7. Стандарты безопасности .................................................. 91 

Вопросы для самопроверки .......................................................... 94 

5. 
Обзор ОСРВ ...................................................................... 96 

5.1. Классификация ОСРВ в зависимости от происхождения 96 

5.2. Системы на основе обычных ОС ......................................... 96 
5.2.1. Linux ..................................................................................... 96 
5.2.2. Windows NT ......................................................................... 99 

5.3. Собственно типы ОСРВ ..................................................... 109 
5.3.1. LynxOS ................................................................................ 109 
5.3.2. OS-9 .................................................................................... 122 
5.3.3. VxWorks ............................................................................. 126 
5.3.4. SoftKernel ........................................................................... 132 
5.3.5. CHORUS .............................................................................. 134 
5.3.6. pSOS ................................................................................... 139 
5.3.7. ОС2000 ............................................................................... 141 
5.3.8. QNX .................................................................................... 144 

5.4. Специализированные ОСРВ ................................................ 147 

5.5. Обобщенный обзор функциональности  ОСРВ................ 147 

Вопросы для самопроверки ........................................................ 152 

6. 
Микроядро ОС QNX Neutrino ........................................ 153 

6.1. Введение .............................................................................. 153 

6.2. Потоки и процессы ............................................................. 156 
6.2.1. Вызовы по управлению потоками .................................. 156 
6.2.2. Состояния потока .............................................................. 159 
6.2.3. Планирование потоков .................................................... 161 
6.2.4. Управление потоками ...................................................... 165 

6.3. Механизмы синхронизации ................................................ 169 
6.3.1. Перечень механизмов синхронизации .......................... 169 
6.3.2. Блокировки взаимного исключения (мьютексы) ........... 169 
6.3.3. Условные переменные..................................................... 171 
6.3.4. Барьеры ............................................................................. 172 
6.3.5. Ждущие блокировки ........................................................ 173 
6.3.6. Блокировки по чтению/записи ........................................ 173 
6.3.7. Семафоры .......................................................................... 174 
6.3.8. Синхронизация с помощью алгоритма планирования . 175 
6.3.9. Синхронизация с помощью механизма обмена 

сообщениями ................................................................................. 176 

6.3.10. Синхронизация с помощью атомарных операций ........ 176 

6.4. Межзадачное взаимодействие ........................................ 177 
6.4.1. Формы межзадачного взаимодействия ......................... 177 
6.4.2. Связь между процессами посредством сообщений ..... 178 

6.4.3. Примеры связи между процессами посредствам обмена 

сообщениями ................................................................................. 189 

6.4.4. Связь между процессами посредством сигналов ......... 194 

6.5. Управление таймером ....................................................... 199 

6.6. Сетевое взаимодействие .................................................. 207 

6.7. Первичная обработка прерываний .................................. 210 

6.8. Диагностическая версия микроядра ................................ 213 

Вопросы для самопроверки ........................................................ 216 

7. 
Администратор процессов и управление ресурсами в ОС 

QNX 
218 

7.1. Управление процессами ..................................................... 218 

7.2. Обработчики прерываний ................................................. 225 

7.3. Администраторы ресурсов .............................................. 227 

7.4. Файловые системы в QNX ................................................. 227 

7.5. Инсталляционные пакеты и их репозитарии ................ 231 

7.6. Символьные устройства ввода/вывода .......................... 233 

7.7. Сетевая подсистема QNX ................................................. 235 

7.8. Технология Jump Gate ......................................................... 243 

7.9. Графический интерфейс пользователя Photon microGUI

 
245 

7.10. Печать в ОС QNX ................................................................. 248 

Вопросы для самопроверки ........................................................ 250 

Глоссарий ................................................................................. 251 

Список литературы .................................................................. 253 

 
 
 

Предисловие 

В учебном пособии рассказывается о системах реального 

времени. Приводится определение систем реального времени и 
их классификация, рассматриваются основные параметры и механизмы, обеспечивающие требования реального времени. Сделан упор на обзор операционных систем реального времени, 

Базовыми категориями в освоении данного курса являют
ся понятия и концепции: построения систем реального времени, 
диспетчеризация потоков, установка уровней приоритетов, механизмы синхронизации и защиты от инверсии приоритетов. 

Для изучения дисциплины «Системы реального времени» 

необходимо иметь навыки программирования на языке высокого уровня Си, освоить курс «Операционные системы». 

Учебное пособие по курсу «Системы реального времени» 

представлено в семи разделах. 

В первом разделе вводятся определения систем реального 

времени, области применения, и вычислительные платформы 
систем реального времени. Также в разделе уделено внимание 
обзору архитектур операционных систем реального времени и 
рассмотрено типичное строение системы реального времени. 

Второй раздел содержит описание развития автоматизи
рованных систем управления технологическими процессами, 
назначения их отдельных компонент, а также представлены 
функциональные возможности SCADA-систем, контроллеров и 
технологических языков программирования. 

Третий раздел включает вопросы организации операцион
ных систем реального времени их функциональные требования 
и архитектуры построения. 

Стандарты на создание операционных систем реального 

времени рассмотрены в четвертом разделе. Раздел содержит 
описание стандартов SCEPTRE, POSIX, DO-178B, ARINC-653, 
OSEK и стандарты безопасности. 

Пятый раздел содержит классификацию операционных си
стем реального времени в зависимости от происхождения и обзор 
основных функциональных возможностей конкретных операционных сисетм реального времени 

В шестом разделе приведено описание общего представ
ление об ОС QNX, основные характеристики микроядра ОС 
QNX, описание связей между процессами, вопросы сетевого 
взаимодействия, механизм планирования процессов и первичной обработки прерываний. 

В седьмом разделе рассматривается работа администрато
ра процессов и управление ресурсами ОС QNX. Вводится понятие администраторов ресурсов, описываются следующие ресурсы — файловые системы, инсталляционные пакеты, символьные 
устройства ввода/вывода, сетевая подсистема QNX, графический интерфейс пользователя, печать. 

 
 
 
 
 

1. Введение в системы реального 

времени  

1.1. Определения систем реального времени 

Понятия «реальное время», «операционные системы ре
ального времени» известны всем, но толкуются они часто поразному и спектр этих толкований очень широк. Количество иллюзий и мифов в мире реального времени велико. Прежде чем 
перейти к их рассмотрению необходимо дать понятие определению параллельные системы. 

Программные системы, которые по своему назначению 

должны обрабатывать одновременные события или управлять 
одновременно выполняемыми операциями, инициируемыми 
внешними по отношению к ним программами или пользователями, являются параллельными по своей природе [1].  

К параллельным системам относятся:  

– 
Системы реального времени (СРВ) и встроенные системы 

(специального назначения). 
– 
Обычные и распределенные операционные системы (их 

компоненты распределены по нескольким компьютерам). 
– 
Системы управления базами данных и системы обработки 

транзакций.  
– 
Распределенные сервисы прикладного уровня. 

Рассмотрим первый класс параллельных систем — систе
мы реального времени.  

Английский термин «real-time» и соответствующее ему в 

русском языке понятие «реальное время» является наиболее 
спорным и сложным термином. Данное понятие применяется в 
различных научно-технических областях и подразумевает некие 
действия, продолжительность которых определяется внешними 
процессами. 

Специфическая особенность систем реального времени 

заключается в том, что к ним предъявляются строгие временные требования, диктуемые окружением или определяемые ее назначением [1]. 

Вышеприведенное определение не является единствен
ным, для понимания смысла данного понятия, приведем еще несколько определений: 
– 
Система называется системой реального времени, если 

правильность ее функционирования зависит не только от логической корректности вычислений, но и от времени, за которое 
эти вычисления производятся. То есть для событий, происходящих в такой системе, то, КОГДА эти события происходят, 
так же важно, как логическая корректность самих событий 
[2].  
– 
Реальное время (программное обеспечение): Относится к 

системе или режиму работы, в котором вычисления проводятся в течение времени, определяемого внешним процессом, с целью управления или мониторинга внешнего процесса по результатам этих вычислений (IEEE 610.12 — 1990). 
– 
Системы реального времени — это системы, которые 

предсказуемо (в смысле времени реакции) реагируют на непредсказуемые (по времени появления) внешние события [3]. 

Одной из функций таких систем может быть выполнение 

определенных действий в ответ на сигналы тревоги, и очень 
важно, чтобы они отвечали на них с определенной скоростью. В 
связи с этим существует разделение систем реального времени 
на два типа: 
1. Системы с жесткими временными характеристиками — системы жесткого реального времени. 
2. Системы с нежесткими временными характеристиками — 
системы мягкого реального времени. 

Системой жесткого реального времени называется си
стема, где неспособность обеспечить реакцию на какие-либо 
события в заданное время является отказом и ведет к невозможности решения поставленной задачи. Многие теоретики ставят 
здесь точку, из чего следует, что время реакции в жестких системах может составлять и секунды, и часы, и недели. Однако 
большинство практиков считают, что время реакции в системах 
жесткого реального времени должно быть все-таки минимальным. Большинство систем жесткого реального времени являются системами контроля и управления. Такие СРВ сложны в реа
лизации, так как для них предъявляются особые требования в 
вопросах безопасности. 

Точного определения для мягкого реального времени не 

существует, поэтому отнесем сюда все СРВ, не попадающие в 
категорию жестких. Так как система мягкого реального времени 
может не успевать ВСЕ делать ВСЕГДА в заданное время, возникает проблема определения критериев успешности (нормальности) ее функционирования. Вопрос этот совсем не простой, 
так как в зависимости от функций системы это может быть максимальная задержка в выполнении каких-либо операций, средняя своевременность обработки событий и т.п. Более того, эти 
критерии влияют на то, какой алгоритм планирования задач является оптимальным. 

Еще одной важной характеристикой системы реального 

времени является ее природа — статическая или динамическая[1]. В статической системе функционирование прогнозируемо и может быть определенно на этапе проектирования. В динамической системе запросы поступают нерегулярно и непредсказуемо, но система должна динамически отвечать на них с гарантированной скоростью.  

Следует отметить, что понятие функционировать в ре
альном времени отнюдь не означает очень быстро — его суть 
заключается в том, что к системе предъявляются определенные 
временные требования, и они должны соблюдаться [1].  

Приведем требования, сформулированные Д. Бэконом и 

Т. Харрисом [1], к системе реального времени: 
– Необходима поддержка выполнения отдельных задач. Одни 
из них, такие как сбор данных, могут быть периодическими, 
другие, в том числе реакция на сигналы тревоги, — непредсказуемыми. 
– Для каждой задачи могут существовать специфические требования, в частности точно определяющие время ее выполнения. 
– Отдельные выполняемые системой задачи могут быть частью 
одной общей задачи — в таком случае производимые в их рамках действия должны быть четко согласованными. 

По типу применения системы реального времени можно 

разделить на специализированные и универсальные. 

Специализированной СРВ называется система, где кон
кретные временные требования определены. Такая система 
должна быть специально спроектирована для удовлетворения 
этих требований. Обычно такие системы применяются, где есть 
риск человеческого фактора.  

Универсальная СРВ должна уметь выполнять произволь
ные (заранее не определенные) временные задачи без применения специальной техники. Разработка таких систем, безусловно, 
является самой сложной задачей, хотя обычно, требования, 
предъявляемые к таким системам, мягче, чем требования для 
специализированных систем. 

1.2. Области применения и вычислительные 

платформы СРВ  

В течение длительно времени основными потребителями 

СРВ были военная и космическая области. Сейчас ситуация изменилась, и СРВ можно встретить даже в товарах народного потребления. 

Основные области применения СРВ: 

– 
Военная и космическая области: 
o бортовое и встраиваемое оборудование; 
o радары, системы измерения и управления; 
o цифровые видеосистемы, симуляторы; 
o ракеты, системы определения местоположения и привязки к местности. 

– 
Промышленность: 
o автоматические системы управления производством; автоматические системы управления технологическими процессами; 
o автомобилестроение: симуляторы, системы управления 
мотором, автоматическое сцепление … 
o энергетика: сбор информации, управление данными и 
оборудованием … 
o телекоммуникации: коммуникационное оборудование, 
сетевые коммутаторы, телефонные станции … 
o банковское оборудование: банкоматы … 

– 
Товары широкого применения: 

o мобильные телефоны; 
o цифровое телевидение: мультимедиа, видеосервисы, 
цифровые телевизионные декодеры … 
o компьютерное и офисное оборудование. 
 

Рассмотрим более подробно применение систем реального 

времени в наиболее интересных областях, которые приведены в 
работе Д. Бэкона и Т. Харриса [1]: 

 Управление технологическим процессом. В компьютер
ных системах управление технологическими процессами осуществляется путем сбора и анализа данных, получаемых с помощью специального контрольного оборудования (рис. 1.1). 

Речь может идти как о простых действиях, таких как, об 

измерении температуры и давления через заданные промежутки 
времени и сравнении полученных показателей с предельными 
значениями, так и о более сложных, например о сборе большого 
количества разнообразных данных, их математическом анализе 
и выдаче команд управления технологическим процессом на исполнительные механизмы. Точность, с которой работает подобная система, зависит от объема собираемых данных и времени, 
затрачиваемого на их анализ. Сбор и анализ информации производится с известной периодичностью, зависящей от нужд контролируемого или управляемого процесса. Так определение 
температуры в доменной печи, требует выполнения замеров 
каждые несколько секунд, а уровень воды в водохранилище достаточно проверять один раз в час.  

Системы должны не только периодически выполнять 

определенные действия, но и реагировать на события, возникающие в непредсказуемые моменты времени, например, повышение температуры ядерного реактора или давления газа в 
угольной шахте. 

Также может быть еще один вид непериодических дей
ствий системы — высокоуровневое регулирование параметров, 
осуществляемое по запросу управляющего персонала на основе 
общей картины процесса, например изменение количества выпускаемой продукции. Подобного рода действия не столь срочные, как, реакция на сигнал тревоги, но являются неотъемлемой 
частью общего процесса функционирования системы. 

Рис. 1.1. Пример распределенной системы управления  

технологическим процессом 

 

Управляемый процесс

Центр
управления

Сеть

Операции 
мониторинга

Операции 
управления

Сетевой интерфейс

Интерфейс
Интерфейс

Датчик
Исполнительный
механизм

Сеть

Доступ онлайн
220 ₽
В корзину