3. Стандарты на операционные системы реального времени
16. переход 7^3: активизация процесса из-за прихода ожидавшегося события
Переход 4 - 3 в системах реального времени происходит сразу, как только в состояние го товности
перейдет процесс с большим приоритетом. Такой механизм называют приоритетным переключением
(preemption, буквально: приоритетное право на покупку). Система реального времени должна осуществлять
переключение задач в соответствии с этим принципом.
3. Стандарты на операционные системы реального времени
В этом разделе мы рассмотрим существующие стандарты на ОСРВ. Как и во многих других областях,
стандарты стали появляться лишь после того, как уже был создан ряд ОСРВ. Основной целью введения
стандартов является облегчение переноса программного обеспечения из одной системы в другую. Отметим,
что разработчики систем реального времени часто ставят задачу обеспечения максимальной скорости работы
и компактности ОСРВ выше задачи ее стандартизации. Поэтому, с одной стороны, среди ОСРВ преобладают
системы с уникальным устройством, а с другой стороны, многие стандарты носят весьма общий характер.
При этом даже системы, декларирующие свою совместимость с некоторым стандартом, обычно содержат
ряд расширений, выходящих за его рамки. Тем не менее, важность стандартов состоит в том, что они
фактически выступают в качестве аксиоматической базы, задающей определения рассматриваемых объектов
и понятий.
Мы кратко рассмотрим несколько стандартов. Подробно будет рассмотрен только наиболее старый и
завершенный из них — европейский стандарт SCEPTRE.
3.1. Нормы ESSE консорциума VITA
Нормы ESSE консорциума VITA (VMEbus International Trade Association) находятся в стадии разработки,
но уже оказывают влияние на разработчиков ОСРВ в силу весомости организации VITA (напомним, шина
VME занимает лидирующее положение среди шин для промышленных компьютеров и встраиваемых
систем). Нормы прежде всего ориентированы на унификацию приложений для встраиваемых систем в
области телекоммуникаций, автомобилестроения и промышленности. Основной целью норм ESSE также
является стандартизация ОСРВ (ядра и подсистемы ввода/вывода).
3.2. Стандарт POSIX 1003.1b
Стандарт POSIX (Portable Operating System Interface) 1003.1b, ранее существовавший под рабочим
именем POSIX 1003.4 и разработанный IEEE (Institute of Electrical and Electronical Engineers), определяет
расширения стандарта POSIX 1001 на операционные системы UNIX, которые позволяют использовать
последние в качестве ОСРВ. Большинство приложений UNIX могут быть перенесены в такие системы,
поскольку стандарт POSIX 1003.1b обеспечивает единый с системами UNIX программный интерфейс (API,
application interface). Стандарт POSIX 1003 состоит следующих частей.
1. POSIX 1003.1 — определяет стандарт на основные компоненты операционной системы, API для
процессов, файловой системы, устройств и т.д.
2. POSIX 1003.2 — определяет стандарт на основные утилиты.
3. POSIX 1003.1b — определяет стандарт на основные расширения "реального времени".
4. POSIX 1003.1с — определяет стандарт на задачи (threads).
5. POSIX 1003.Id — определяет стандарт на дополнительные расширения "реального времени" (такие,
как, например, поддержка обработчиков прерываний); этот стандарт еще официально не утвержден,
но некоторые ОСРВ заявляют о своей поддержке некоторых его частей.
Стандарту POSIX 1003 с расширением 1003.1b удовлетворяют такие системы, как Lynx, VxWorks, QNX.
Некоторые системы, например, CHORUS, обеспечивают поддержку стандарта 1003.1b при загрузке
поставляемого программного обеспечения, т.е. имеют как бы два типа API: оригинальный собственный и
стандартный.
15