Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
32
Добавлен:
05.02.2023
Размер:
1.57 Mб
Скачать

Томский межвузовский центр дистанционного образования

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

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

ВРЕМЕНИ

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

ТОМСК

2009

Федеральное агентство по образованию

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

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

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

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

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

2009

Рецензенты: канд. техн. наук, доцент кафедры теоретических основ информатики Томского государственного университета Гусев И.С.; д-р техн. наук, профессор кафедры прикладной

информатики Томского государственного университета Сущенко С.П.

Корректор: Осипова Е.А.

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

Системы реального времени: Учебное пособие. — Томск: Томский межвузовский центр дистанционного образования, 2009. — 256 с.

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

Предназначено для студентов специальности 230102 — «Автоматизированные системы обработки информации и управление», обучающихся по дистанционной форме.

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

©Томский межвузовский центр дистанционного образования, 2009

3

ОГЛАВЛЕНИЕ

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

6

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

8

1.1

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

8

1.2

Области применения и вычислительные платфор-

1.3

мы СРВ ......................................................................

12

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

18

1.3.1

Типичное строение систем реального времени

 

1.3.2

18

 

 

 

Задачи, решаемые в системах реального време-

1.3.3

ни...........................................................................

20

Архитектура приложений систем реального вре-

1.3.4

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

21

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

 

 

 

.................................................................времени

 

 

22

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

28

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

 

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

30

2.1

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

30

2.2

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

2.3

ления ........................................................................

34

Функциональные возможности 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

Механизмы синхронизации................................

65

3.1.5

Защита от инверсии приоритетов.....................

65

3.1.6

Временные характеристики ОС.........................

67

3.1.7

Принципиальные отличия ОСРВ от ОС общего

 

 

 

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

 

68

3.2 Архитектуры построения ОСРВ...............................

69

 

 

 

4

 

 

 

 

 

3.2.1 Монолитные ОС ..................................................

70

 

 

3.2.2 Уровневые ОС .....................................................

71

 

 

3.2.3 Клиент-серверные ОС (модульная архитектура,

 

 

 

 

3.2.4

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

72

 

 

Объектная архитектура на основе объектов-ми-

 

 

3.2.5

кроядер ................................................................

74

 

 

Обобщенное построение ОСРВ ..........................

75

3.3

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

76

 

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

78

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..........................................................................

90

 

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

91

 

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

94

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

95

 

5.1 Классификация ОСРВ в зависимости от происхо-

95

 

 

 

ждения......................................................................

 

5.2 Системы на основе обычных ОС..............................

95

 

 

5.2.1 Linux.....................................................................

95

 

 

5.2.2 Windows NT..........................................................

98

 

5.3 Собственно типы ОСРВ..........................................

108

 

 

5.3.1 LynxOS................................................................

108

 

 

5.3.2 OS-9....................................................................

121

 

 

5.3.3 VxWorks..............................................................

125

 

 

5.3.4 SoftKernel...........................................................

131

 

 

5.3.5 CHORUS..............................................................

133

 

 

5.3.6 pSOS...................................................................

138

 

 

5.3.7 ОС2000...............................................................

140

 

 

5.3.8 QNX.....................................................................

143

 

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

146

 

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

146

 

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

153

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

155

6.1

Введение.................................................................

155

6.2

Потоки и процессы.................................................

158

6.2.1 Вызовы по управлению потоками....................

158

5

 

 

 

 

6.2.2 Состояния потока..............................................

161

6.2.3 Планирование потоков.....................................

162

6.2.4 Управление потоками.......................................

167

6.3 Механизмы синхронизации ..................................

170

 

6.3.1 Перечень механизмов синхронизации.............

170

 

6.3.2 Блокировки взаимного исключения (мьютексы)

171

172

6.3.3 Условные переменные......................................

6.3.4 Барьеры.............................................................

174

6.3.5 Ждущие блокировки.........................................

175

6.3.6 Блокировки по чтению/записи.........................

175

6.3.7 Семафоры..........................................................

176

6.3.8 Синхронизация с помощью алгоритма планиро-

вания...................................................................

177

6.3.9 Синхронизация с помощью механизма обмена

 

 

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

 

178

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

ций......................................................................

178

6.4 Межзадачное взаимодействие .............................

179

 

6.4.1 Формы межзадачного взаимодействия...........

179

 

6.4.2 Связь между процессами посредством сообще-

ний.......................................................................

180

6.4.3

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

 

 

6.4.4

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

190

 

 

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

 

6.5

 

196

200

 

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

 

6.6

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

209

 

6.7

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

211

 

6.8

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

214

 

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

217

 

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

QNX...........................................................................................

218

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

218

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

225

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

227

7.4

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

228

7.5

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

231

7.6

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

233

7.7

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

236

 

 

6

 

 

7.8

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

244

 

7.9

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

 

 

 

 

..................................................................microGUI

 

246

 

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

249

 

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

250

8 Контрольные работы.............................................................

251

8.1

Контрольная работа № 1.......................................

251

8.2

Контрольная работа № 2.......................................

251

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

259

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

261

ПРЕДИСЛОВИЕ

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

7

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

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

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

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

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

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

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

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

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

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

8

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

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

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

9

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

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

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

Системы реального времени (СРВ) и встроенные системы (специального назначения).

Обычные и распределенные операционные системы (их компоненты распределены по нескольким компьютерам).

Системы управления базами данных и системы обработки транзакций.

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

реального времени.

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

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

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

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

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