SWD Software Ltd. - официальный дистрибьютор QNX на территории России и стран бывшего СССР Операционная система реального времени QNX
Инструменты для создания надёжных встраиваемых систем и
интеллектуальных устройств любой сложности
QNX Software Systems - разработчик встраиваемой операционной системы QNX
  Стандартная версия

Брянский государственный технический университет

Краткий отчёт об использовании ОСРВ QNX и процессорных плат Intel в учебном процессе в Брянском государственном техническом университете

Указанное программное обеспечение и оборудование приме-няется в курсе "Системы реального времени" при обучении сту-дентов специальности "Программное обеспечение вычислитель-ной техники и автоматизированных систем" на кафедре "Инфор-матика и программное обеспечение". В 2004 - 2005 уч. году коли-чество обучаемых - 50 студентов дневной формы обучения и 45 - вечерней. Количество занятий студентов - дневников : 17 лекций и 8 лабораторных, вечерников - 8 лекций и 8 лабораторных.

На лекциях рассматриваются:

    1. основные особенности и преимущества микроядерной ар-хитектуры ОС QNX Neutrino;
    2. средства организации многозадачности, включая различные виды диспетчеризации потоков;
    3. основные примитивы для синхронизации и коммуникации программных потоков;
    4. средства задания и измерения време`нных интервалов;
    5. организация обмена сообщениями в пределах одного компь-ютера и сети QNET;
    6. обработка аппаратных прерываний;
    7. построение загрузочных образов и встраивание на целевую систему;
    8. стандарты POSIX, поддерживаемые API QNX Neutrino.
Темы по пунктам 2 .. 7 практически отрабатываются на лабораторных занятиях. В качестве лабораторной базы используются как универсальные персональные компьютеры, так и специализированные, предоставленные корпорацией Intel. На основе двухпроцессорных плат собраны рабочие станции, используемые как host/target системы для QNX.

Учитывая сравнительно малое время аудиторных занятий, отводимое для лабораторных работ, студентам выдаётся "домашнее расчётное задание" для самостоятельного "внеклассного" выполнения. Оно представляет собой проект, моделирующий управляющую систему реального времени. В паре компьютеров, соединённых между собой нуль-модемным, нуль-принтерным и сетевым кабелями один (#1) рассматривается как электронная модель реально работающего агрегата, второй (#2) - как управляющее этим агрегатом вычислительное устройство. "Агрегат" вырабатывает некоторую "продукцию", в простейшем случае - случайную последовательность символов, которая передаётся по одному из каналов компьютеру #2. Характеристики полученной последовательности (например, моменты случайных интервалов между поступлениями одинаковых символов и их эмпирические распределения) рассчитываются и визуализируются. В зависимости от характеристик #2 вырабатывает управляющее воздействие, передаваемое на #1. Для разных заданий варьируются способы (сигнал, импульс, сообщение,…) и каналы прямой и обратной передачи, включая способы реакции на прерывания по получении символов. Устанавливаются предельные времена ответа обоих машин с помощью задания таймаутов. Отсутствие реакции после истечения таймаута считается выходом из строя. В этом случае либо выполняется аварийная остановка системы с выдачей предупреждающей информации, либо запускается резервные #1 или #2. Программное обеспечение #1 и #2 организовано в виде многопроцессного и/или многопоточного вариантов. Для обмена данными и синхронизации совместного доступа с ним используются разделяемая память POSIX, мутексы, семафоры и др. примитивы синхронизации.

Помимо указанной выше, для самостоятельной проработки студентам выдаются и другие темы, например, использование IDE Momentics, сетевые возможности QNX ОС РВ (создание многомашинных кластеров, TCP/IP серверов) и т.д. Используются материалы из книг Кёртена и Зыля, статьи и наработки, выложенные на сайтах qnx.org.ru и qnxclub.net.

Выполнено несколько дипломных работ по тематике QNX. В качестве доклада на студенческую конференцию может быть предложен следующий:

  • Орешков А.В. "Применение ОС QNX Neutrino для построения учебных справочно-тестирующих систем."

    Эта дипломная работа имеет 3 цели:

    • освоить и использовать в реальном проекте некоторые привлекательные возможности ОС QNX Neutrino, включая пулы потоков и сеть QNET;
    • проверить применимость и удобство использования портированной под QNX СУБД PostgreSQL;
    • создать практически нужную и полезную в учебном процессе многопользовательскую систему.
    На основании опыта преподавания курса "Системы реального времени" написаны и подготовлены к изданию 2 части лабораторного практикума

    "Программирование приложений реального времени для исполнения в среде операционной системы реального времени QNX-Neutrino 2":

  • Часть I. служба времени операционной системы реального времени QNX/Neutrino. Системное время, часы, таймеры, таймауты.
  • Часть II. Обработка прерываний в операционной системе реального времени QNX/Neutrino.
В целом программа "QNX для вузов" очень полезна и мы, если будет и далее предоставлена такая возможность, намерены продолжать участие в ней. Ещё раз благодарим SWD за содействие.