Операционные системы реального времени


OSEK/VDX


Как уже упоминалось в разделе о стандартах, OSEK/VDX является комбинацией стандартов компьютерных систем реального времени, разработанных консорциумами OSEK и VDX для автомобильной промышленности. В данной работе рассматривается только стандарт OSEK, касающийся архитектуры операционной системы.

ОС OSEK оперирует такими объектами, как задачи, события, ресурсы. Кроме того, обеспечиваются такие возможности, как управление ошибками и средства для пользовательских функций отслеживания изменений в состоянии системы.

ОС OSEK обеспечивает определенный набор интерфейсов для пользователя. Интерфейсы используются сущностями, конкурирующими за центральный процессор. ОС OSEK оперирует двумя типами таких сущностей – задачи и прерывания – и определяет три уровня обработки – уровень прерываний, логический уровень планировщика и уровень задач. Задачи выбираются на выполнение в соответствии с присвоенными им приоритетами.

Задача в ОС OSEK может быть

  • базовой или расширенной,
  • вытесняемой или невытесняемой.

Главное различие между базовой и расширенной задачами заключается в том, может ли задача впасть в состояние ожидания (в котором она ждет появления события). Только расширенная задача может ожидать события. Вытесняемая задача может быть вытеснена задачей более высокого приоритета или прервана прерыванием. Невытесняемая задача может быть вытеснена только с помощью прерывания (когда прерывания не запрещены).

Концепция двух типов задач потребовала введения нового понятия – класс соответствия (conformance class) для описания своеобразной реализации ОС OSEK и системных сервисов. Определяются четыре класса соответствия – два для базового соответствия (BCC1 и BCC2 – Basic conformance Classes 1 и 2) и два для расширенного (ECC1 и ECC2 – Extended Conformance Classes 1 и 2). Реализации, которые соответствуют базовым классам, требуют использования только базовых задач, в то время как для расширенных классов нужны как расширенные, так и базовые задачи. Числа 1 и 2 в именах классов указывают количество запросов на задачу для базовых задач и количество задач на приоритет для всех задач.




- Начало -  - Назад -  - Вперед -