ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ
(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)
Факультет информатики и управления
Кафедра систем автоматизированного проектирования и управления Отчет перед ЗАО «СВД Софтвер»
об использовании операционной системы QNX Neutrino 6.3 в учебном процессе в 2006/2007 учебном году Руководители:
Заведующая кафедрой САПРиУ, профессор Чистякова Т.Б.
Доцент кафедры САПРиУ Ершова О.В.
Исполнители:
Аспирант кафедры САПРиУ Антипин Р.В.
Студент кафедры САПРиУ Сопыгин А.И.
САНКТ-ПЕТЕРБУРГ
Кафедра систем автоматизированного проектирования и управления в 2006/2007 учебном году использовала лицензионные комплекты операционной системы реального времени QNX Neutrino 6.3 при разработке учебного курса для обучения студентов специальности 230102 – «Автоматизированные системы обработки информации и управления» направления подготовки «Информатика и вычислительная техника»по дисциплине «Системы реального времени».Цели и задачи учебной дисциплины:
Настоящая дисциплина принадлежит к числу специальных. Цель дисциплины «Системы реального времени» – формирование инженера, знающего теоретические основы систем реального времени, принципы организации, их классификацию, области применения, владеющего практическими навыками использования операционных систем реального времени и разработки программного обеспечения.
Задачами дисциплины являются изучение методов построения систем реального времени, их отличий от обычных интерактивных систем;
классификация операционных систем реального времени (ОСРВ) и области их применения; изучение архитектуры ядер ОСРВ (Windows, UNIX, QNX); изучение стандарта POSIX (Portable Operating System Interface - мобильный интерфейс операционной системы) и особенности его применения для ОСРВ; изучение функционирования процессов и потоков реального времени; изучение механизмов синхронизации и взаимодействия процессов и потоков; изучение файловых систем и сетевой архитектуры реального времени; систем «высокой готовности»;
формирование умений написания программ для ОСРВ QNX.
В результате изучения данной учебной дисциплины студент будет:
- иметь представление:
о методах построения систем реального времени, связи микропроцессорных систем с технологическими объектами в реальном масштабе времени, особенностях архитектур ядер операционных систем, использование SMP (Symmetrical Multi-Processing – симметричная многопроцессорная обработка) в ОСРВ;
- знать:
основы стандарта POSIX, механизмы функционирования процессов и потоков, механизмы планирования и приоритеты потоков, службы синхронизации, механизмы межзадачного взаимодействия, службы управления часами и таймерами, механизмы обработки прерываний;
- уметь:
инсталлировать операционную систему QNX, её начальную и расширенную настройку, устанавливать дополнительное программное обеспечение, использовать интегрированные среды разработки Eclipse и Photon Application Builder для написания программ.
ТЕМАТИЧЕСКИЙ ПЛАН И СОДЕРЖАНИЕ УЧЕБНОЙ ДИСЦИПЛИНЫ
«СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ»
1 Темы и содержание лекций (30ч) 1.1 Общие понятия и определения (2ч) Определения систем реального времени (СРВ). Примеры СРВ. Жесткие и мягкие СРВ. Области применения СРВ. Состав, структура и параметры СРВ.1.2 Операционные системы реального времени (2ч) Особенности ОСРВ и их отличия от ОС общего назначения. Параметры ОСРВ. Требования, предъявляемые к ним. Стандарты POSIX на ОСРВ.
Классификация ОСРВ.
1.3 Основы архитектуры ОС Windows NT, UNIX, QNX (2ч) Структура ОС Unix. Ядро ОС Unix. Подсистема управления файлами.
Подсистема управления процессами.
Структурная схема ОС Windows NT. Процессы и нити в NT. Обработка прерываний в NT.
Архитектура ОС QNX. Микроядро, его функции.
1.4 Процессы и потоки в ОС QNX Neutrino (3ч) Основные понятия о процессах и потоках. Создание процесса и запуск.
Создание потока, его атрибуты. Жизненный цикл потока. Пулы потоков.
Планирование потоков и приоритеты. Алгоритмы планирования: FIFO – планирование, циклическое, спорадическое. Управление приоритетами и алгоритмами планирования.
1.5 Службы синхронизации в ОС QNX Neutrino (4ч) Блокировки взаимного исключения (mutex). Наследование приоритетов и инверсия приоритетов. Условные переменные (condvar). Барьеры. Ждущие блокировки. Блокировки по чтению/записи. Семафоры (semaphores).
Синхронизация с помощью алгоритма планирования и атомарных операций.
1.6 Механизмы IPC (Interprocess Communication – межзадачного взаимодействия) в ОС QNX Neutrino (5ч) Введение в обмен сообщениями. Микроядро и обмен сообщениями. Модель клиент/сервер. Иерархический принцип обмена (send - иерархия). Обмен сообщениями в сети. Сеть Qnet. Асинхронные сообщения (pulse) и события (event). Составные сообщения.
Сигналы. Описание сигналов.
Очереди сообщений. Управление очередями сообщений в стандарте POSIX.
Разделяемая память. Создание объектов разделяемой памяти.
Каналы. Неименованные и именованные каналы.
1.7 Часы, таймеры и периодические уведомления в ОС QNX Neutrino (4ч) Периодические процессы. Типы таймеров. Разрешающая способность отсчета времени. Флуктуации отсчета времени. Схема уведомления. Тайм – ауты ядра.
1.8. Прерывания в ОС QNX Neutrino (4ч) Введение в прерывания. Активность прерываний по уровню и по фронту.
Подключение обработчика прерывания. Особенности InterruptAttach() и InterruptAttachEvent().
1.9. Администраторы ресурсов в ОС QNX Neutrino (4ч) Введение в администраторы ресурсов. Примеры и характеристики администраторов ресурсов. Функции обработчики. Написание администратора ресурсов.
2 Темы и содержание практических занятий (30ч) 2.1 Основы архитектуры ОС Windows NT, UNIX, QNX (2ч) Исследование процессов и потоков в ОС Windows NT и возможность ее использования в качестве ОСРВ. Синхронизация процессов и потоков. Методы взаимодействия между процессами.
2.2 Процессы и потоки в ОС QNX Neutrino (3ч) Запуск процесса с помощью: system(), семейства функций exec(), семейства функций spawn(), fork(), vfork(). Запуск потоков pthread_create(). Изменение атрибутов потока pthread_attr_t. Присоединение joing. Использование пула потоков. Завершение потока и процесса.
2.3 Службы синхронизации в ОС QNX Neutrino (5ч) Методы синхронизации с помощью: блокировки взаимного исключения (mutex), семафоров (semaphores), условных переменных (condvar), барьеров, ждущих блокировок, блокировок по чтению/записи. Использование атомарных переменных.
2.4 Механизмы IPC (Interprocess Communication – межзадачного взаимодействия) в ОС QNX Neutrino (6ч) Исследование обмена синхронными сообщениями по модели клиент/сервер.
Иерархический принцип обмена (send - иерархия). Чтение и запись данных, составные сообщения. Обмен сообщениями тапа импульс и события.
Исследование проблем синхронизации при обмене сообщениями. Особенности обмена сообщениями в сети Qnet.
Отправка и получение сигналов пользовательских и стандартных реального времени.
Создание и управление очередями сообщений.
Особенности передача данных через очереди сообщений, разделяемую память, каналы.
2.5. Часы, таймеры и периодические уведомления в ОС QNX Neutrino (5ч) Создание периодических процессов. Создание таймеров со схемой уведомления: импульсом, сигналом, созданием потока, Опрос и установка часов реального времени. Применение тайм – аутов ядра.
2.6 Прерывания в ОС QNX Neutrino (4ч) Подключение обработчика прерывания. Отключение обработчика прерывания. Особенности прерываний и их виды обработки.
2.7 Администраторы ресурсов в ОС QNX Neutrino (5ч) Создание администратора ресурсов. Реализация набора методов, обработка клиентских запросов.
Учебная работа:
Для магистров кафедры шестого года обучения были проведены занятия по основам использования ОСРВ QNX 6.3. В ходе занятий были изучены средства среды разработки QNX Momentics. Кроме того, были изучены возможности ОСРВ QNX для построения встраиваемых систем, сетевые возможности ОСРВ, архитектура ядра ОСРВ.
Научно-исследовательская работа:
В ходе научно-исследовательской работы были изучены необходимые функции ОСРВ QNX Neutrino 6.3 и среды разработки QNX Momentics, с помощью которых разработаны нижеприведенные QNX-приложения: программа для проектирования систем автоматизации и обучающий комплекс для проектирования кожухотрубчатых теплообменных аппаратов.
В рамках образовательной программы выполнены курсовые проекты.
Выполнил студент: Сопыгин А.И.
Руководители: Чистякова Т.Б., Ершова О.В.
Курсовой проект по дисциплине “Интеллектуальные подсистемы САПР” Тема: «Автоматизированная обучающая система для проектирования системы реального времени в ОСРВ QNX Neutrino с использованием контроллера Unitronics M90 на примере процесса теплообмена»
В ходе курсового проекта была разработана обучающая система в ОСРВ QNX Neutrino, позволяющая пользователям получать рекомендации по выбору средств автоматизации системы реального времени на основании заданных критериев проектирования. В ходе курсового проекта было реализовано взаимодействие с СУБД PostgreSQL.
Курсовой проект по дисциплине “Проектирование ХТС” Тема: «Проектирование кожухотрубчатого теплообменного аппарата в интегрированной среде разработки QNX Momentics»
В курсовом проекте была разработана обучающая система в операционной системе реального времени QNX Neutrino 6.3, предназначенная для изучения процесса теплообмена в кожухотрубчатом теплообменнике с применением контроллера Unitronics M90. Для этого был изучен и программно реализован протокол (Unitronics) взаимодействия системы с контроллером.
Рисунок 1 - Принципиальная схема контроллера Unitronics M Рисунок 2 – Пользовательский QNX-интерфейс программного комплекса по проектированию кожухотрубчатого теплообменного аппарата Курсовой проект по дисциплине “Разработка САПР” Тема: «Комплекс средств автоматизированного проектирования систем управления кожухотрубчатыми теплообменниками в реальном времени»
При выполнении курсового проекта в ОСРВ QNX Neutrino был разработан комплекс, реализующий процесс проектирования кожухотрубчатых теплообменников и передачу результатов проектирования из ОСРВ QNX в операционную систему Windows XP для отображения трехмерной модели спроектированного теплообменника. Для этого были использованы сетевые библиотеки ОСРВ QNX и Windows XP, среда твердотельного моделирования SolidWorks 2004 и утилита E-Drawings.
Рисунок 4 – База данных конструктивных параметров теплообменников Рисунок 5 – Отображение трехмерной модели теплообменника в “E-Drawings” В дальнейшем предполагается развитие курса «Системы реального времени»
для специальности «Автоматизированные системы обработки информации и управления» и бакалавров по направлению подготовки 230100 «Информатика и вычислительная техника», создание методических пособий, разработка тем для курсового и дипломного проектирования студентов и увеличение часов для практической и научно-исследовательской работы c ОСРВ QNX Neutrino 6.3 и средой разработки QNX Momentics.