Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект Лекций ПСРВ.doc
Скачиваний:
81
Добавлен:
12.02.2016
Размер:
2.73 Mб
Скачать

Министерство образования и науки Украины

Национальная металлургическая академия Украины

Кафедра автоматизации производственных процессов

КОНСПЕКТ ЛЕКЦИЙ

по дисциплине

«ПРОГРАММИРОВАНИЕ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ»

для студентов направления 6.0925 – “Автоматизация и компьютерно-интегрированные технологии”

Днепропетровск 2008

Содержание

Министерство образования и науки Украины 1

Национальная металлургическая академия Украины 1

Кафедра автоматизации производственных процессов 1

КОНСПЕКТ ЛЕКЦИЙ 1

по дисциплине 1

«ПРОГРАММИРОВАНИЕ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ» 1

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

1.1. Основные понятия 5

1.2. СРВ 5

1.3. Классификация СРВ 6

1.4. Структура СРВ 8

1.4.1. ОС 9

1.4.2. Основные архитектурные решения ОС 9

1.4.3. Основные концепции ОС 10

1.5. Аппаратные среды СРВ 12

1.5.1. Мультипрограммная среда 12

1.5.2. Симметричная мультипроцессорная среда (рис. 5) 13

1.5.3. Распределенная среда (рис. 6) 14

1.6. Конфигурации клиент-серверных систем (рис.7.) 15

1.7. Средства ввода-вывода СРВ 16

2. QNX 18

2.1. Версии QNX 18

2.2. POSIX-совместимость 18

2.3. Архитектура микроядра QNX 20

2.3.1. Микроядро 21

2.3.2. Системные процессы 21

2.3.3. Системные и пользовательские процессы 21

2.3.4. Драйверы устройств 21

2.3.5. Межпроцессное взаимодействие 22

2.3.6. Сеть QNX 22

2.4. Файлы и файловая система 22

2.4.1. Типы файлов 23

2.4.2. Жесткие ссылки 25

2.4.3. Символические ссылки 25

2.4.4. Named Special Device — именованные специальные устройства 26

2.4.5. Именованные программные каналы (FIFO) (Именованный канал) 27

2.5. Структура файловой системы QNX 27

2.6. Концепция прав доступа 29

3. Начало работы 30

3.1. Интерфейс командной строки 31

3.2. Консоль командной строки 32

3.3. Соглашения по работе с командной строкой 32

3.4. Знакомство с shell 33

3.5. Обращение к домашнему каталогу 35

3.6. Базовые команды 35

3.6.1. Изменение текущего каталога 36

3.6.2. Просмотр содержимого каталогов 37

3.6.3. Создание новых каталогов 39

3.6.4. Копирование файлов 40

3.6.5. Перемещение файлов 40

3.6.6. Удаление файлов 41

3.6.7. Удаление каталогов 41

3.6.8. Просмотр содержимого файлов 42

3.6.9. Конкатенация (слияние) и просмотр файлов 42

3.6.10. Получение оперативной помощи 43

4. Объектно-ориентированное программирование 44

4.1. Системы программирования 44

4.2. Создание приложения 45

4.3. Средства отладки программ 47

5. Архитектура ОС QNX 49

5.1. Типы процессов 51

5.2. Механизмы микроядра 52

5.3. Диспетчеризация потоков 53

5.4. Администратор процессов 54

5.5. Управление памятью 55

5.6. Управление пространством путевых имен 56

5.7. Пространство путевых имен 56

5.7.1. Файловая система QNX 56

5.7.2. Виртуальные устройства 57

5.8. Программы, процессы, нити 60

5.9. Свойства процессно-нитиевой структуры ПРВ 61

5.10. Программный интерфейс QNX 62

5.10.1. Системные вызовы и функции стандартных библиотек 62

5.10.2. Обработка ошибок 62

5.11. Формальные параметры функции main 63

5.12. Разграничение доступа к файлам 66

5.13. Функции базового ввода/вывода 67

5.13.1. Открытие файла 67

5.13.2. Дублирование дескриптора файла 72

5.13.3. Доступ к файлу 74

6. Функции управления файловой системой 75

6.1. Смена корневого каталога 75

6.2. Смена текущего каталога 75

6.3. Создание каталога 76

6.4. Удаление каталога 77

6.5. Создание жесткой связи 77

6.6. Создание символической связи 77

6.7. Чтение символической связи 78

6.8. Переименование файла 79

6.9. Удаление файла 80

7. Микроядро 81

7.1. Запуск процессов 81

7.2. Запуск процесса из shell 82

7.3. Программный запуск процессов 82

7.3.1. Функция system() 82

7.3.2. Функции семейства exec*() 83

7.3.3. Функции семейства spawn*() 85

7.3.4. Функция fork() 87

7.3.5. Функция vfork() 89

7.4. Организация взаимодействия между процессами 89

7.5. Создание и удаление каналов 90

7.6. Установление и удаление соединений с каналом 90

7.7. Передача сообщений 92

7.7.1. Посылка сообщения 92

7.7.2. Прием сообщения 94

7.7.3. Посылка ответа 94

7.7.4. Сценарии ответов 96

7.7.5. Управление сообщениями 96

7.7.6. Управление приемом сообщений 97

7.7.7. Управление передачей ответа 98