 |
 |
Краткий отчёт об использовании ОСРВ 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 для вузов" очень полезна и мы, если будет и далее предоставлена такая возможность, намерены продолжать участие в ней. Ещё раз благодарим SWD за содействие. |
 |