
- •Предисловие
- •1.1. Определения и классификации ОСРВ
- •1.3. Архитектуры построения ОСРВ
- •Вопросы для самопроверки
- •2.1. Основные понятия
- •2.2. Диспетчеризация потоков
- •2.4. Временные характеристики ОС
- •Вопросы для самопроверки
- •3.1. Стандарты на ОСРВ
- •3.2. Категории ОСРВ
- •Вопросы для самопроверки
- •4.1. Основные характеристики ОС QNX
- •4.3. Связь между процессами
- •4.3.1. Связь между процессами посредством сообщений
- •4.3.2.Связь между процессами посредством Proxy
- •4.3.3. Связь между процессами посредством сигналов
- •4.4. Сетевое взаимодействие
- •4.5. Планирование процессов
- •4.6. Первичная обработка прерываний
- •Вопросы для самопроверки
- •5. АДМИНИСТРАТОР ПРОЦЕССОВ ОС QNX
- •5.1. Создание процессов
- •5.2. Состояния процессов
- •5.3. Управление потоками
- •5.4. Управление таймером
- •5.5. Обработчики прерываний
- •Вопросы для самопроверки
- •6. УПРАВЛЕНИЕ РЕСУРСАМИ В OC QNX
- •6.1. Администраторы ресурсов
- •6.2. Файловые системы в QNX
- •6.3. Инсталляционные пакеты и их репозитарии
- •6.4. Символьные устройства ввода/вывода
- •6.5. Сетевая подсистема QNX
- •Вопросы для самопроверки
- •7. РАБОТА В QNX
- •7.1. Начальная загрузка QNX Neutrino
- •7.2. Графический интерфейс пользователя
- •Photon microGUI
- •7.3. Печать в ОС QNX
- •7.4. Средства анализа
- •7.5. Среда визуальной разработки программ
- •Вопросы для самопроверки
- •Литература
Функции, используемые для работы с сообщениями:
PtGetResource() // взять данные по ресурсу из компоненты формы, например, из поля для ввода текста изъять сам текст:
#define PtGetResource(widget, type, value, len)...
где widget — название ресурса (в данном случае — название поля, компонента, в который вводится сообщение, посылаемое клиентом серверу);
type — тип ресурса (Pt_ARG_COLOR, Pt_ARG_TXT); value — адрес, по которому отправляется сообщение, ли-
бо записываемая переменная;
len определяется в зависимости от типа ресурса, здесь это длина посылаемого сообщения.
Для того чтобы взять текст, посланный сервером клиенту в ответ на его сообщение, и поместить в окно редактирования ввода, необходимо использовать функцию SetResource() (установить ресурс для данного элемента формы (например, для поля ввода текста):
#define PtSetResource(widget, type, value, len)...
Пример использования функции SetResource()
PtWidget_t *widget;
PtSetResource( widget, Pt_ARG_FILL_COLOR, Pg_BLUE, 0 );
Обе функции возвращают значение 0 при удачной работе и значение –1 при возникновении ошибки.
Вопросы для самопроверки
1.Опишите основные шаги при первоначальной загрузке ОС QNX.
2.Расскажите о командном сценарии /usr/bin/ph.
3.Какие системы печати существуют в ОС QNX?
4.Для чего используется пакет System Analysis Toolkit?
5.Какие средства для ведения журналов существуют в ОС QNX?
6.Опишите процесс создания приложений в Photon Application
Builder.
149
Литература
1.Бэкон Д. Операционные системы / Д. Бэкон, Т. Харрис.
—СПб.: Питер; Киев: BHV, 2004. — 800 с.
2.Верхалст Э. Задача разработки ОСРВ для цифровой обработки сигналов / Э. Верхалст // Мир компьютерной автомати-
зации. — 1997. — № 4. — С. 23-31.
3.Timmerman M. RTOS Evaluation Kick Off! / M. Timmerman, B. Van Beneden, L. Uhres // Real-Time Magazine. — 1998. — N 3. — P. 6–10.
4.Алексеев Д. Практика работы с QNX / Д. Алексеев, Е. Ведревич, А. Волков и др. — М.: КомБук, 2004. — 432 с.
5.Liu С. L. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment / С. L. Liu, James W. Layland // Journal of the Association for Computing Machinery. — 1973.
—Vol. 20. — N I.
6.Sha Lui. Goodenough. Rate Monotonic Analysis for RealTime Systems / Lui Sha, Mark H. Klein, B. John // Technical Report CMU/ SEI-91-TR-6. — 1991. —March. — Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania.
7.Zalewski J. What Every Engineer Needs To Know About Rate-Monotonic Scheduling: A Tutorial / J. Zalewski // Real-Time Magazine. — 1995. — N 1. — P. 6–24.
8.Keeling N.J. Missed it! — How Priority Inversion messes up real-time performance and how the Priority Ceiling Protocol puts it right / N.J. Keeling // Real-Time Magazine. — 1999. — N 4. — P. 46–50.
9.Золотарев С. Lynx OS-178 — коммерческая ОСРВ для авиации [Электронный ресурс]: публикация сайта. — М.: PCweek online, 2005. — Режим доступа к сайту: http://kis.pcweek.ru/Year 2005/N22/CP1251/Industrial_built-in/chapt1.htm
10.Гордеев А.В. Системное программное обеспечение / А.В. Гордеев, А.Ю. Молчанов. — СПб.: Питер, 2002. — 736 с.
11.Зыль С.Н. Операционная система реального времени QNX: от теории к практике / С.Н. Зыль. — СПб.: БХВ-Петер-
бург, 2004. — 192 c.
151
Учебное издание
Гриценко Юрий Борисович
Системы реального времени
Учебное пособие
Редактор Коновалова Н.В. Корректор Полещук О.В.
Подписано в печать 09.08.06. Формат 60х84/16. Бумага офисная. Печать трафаретная. Гарнитура Times New Roman.
Усл. печ. л. ???. Уч.-изд. л. ???. Тираж 100. Заказ ???.
Томский государственный университет систем управления и радиоэлектроники. 634050, Томск, пр. Ленина, 40. Тел. (3822) 53-30-18.
152