Главная / Библиотека / Статья: OSEK - операционная система для автомобильной электроники

Статья: OSEK - операционная система для автомобильной электроники

Евгений Дубовик

История OSEK

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

Ряд европейских производителей, таких как BMW, Bosch, DaimlerChrysler, Siemens, Opel и Volkswagen, уже создали свою операционную систему под названием OSEK - Offene Systeme und deren Schnittstellen für die Elektronik in Kraftfahrzeugen или открытые системы и их интерфейсы для автомобильной электроники.

Изначально проект OSEK/VDX (Vehicle Distributed eXecutive)предназначался для разработки стандарта открытой архитектуры ОС и стандарта API для системавтомобильной промышленности. Однако разработанный стандарт получился довольно абстрактным и в результате не ограничился использованием только в автомобильной индустрии.

ОС OSEK прежде всего ориентирована на использование в автомобильных приложениях и поддерживает в настоящее время множество типов встраиваемых микроконтроллеров: HC08, HC12, 683XX, MCore, Motorola PowerPC . Metrowerks, независимо работающая дочерняя компания фирмы Motorola, включила в состав своих отладочных средств CodeWarrior операционную систему OSEK фирмы Motorola. ОС OSEK соответствует стандартам программной модели Automotive Open System Architecture (AutoSar).

Структура OSEK

Стандарт OSEK/VDX состоит из трех частей – стандарт для операционной системы (OS), коммуникационный стандарт (COM) и стандарт для сетевого менеджера (NM).

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

ОС OSEK обеспечивает набор интерфейсов для пользователя. При этом интерфейсы используются сущностями, которые конкурируют за ресурс центрального процессора (ЦП). В ОС OSEK можно оперировать двумя типами сущностей - задачами и прерываниями. Здесь существует три уровня обработки: уровень прерываний, логический уровень планировщика и уровень задач (см. Рис 1). Использование механизма приоритетов позволяет выбирать задачу на исполнение в соответствии с присвоенным ей приоритетом.

Уровень задач

Задача в ОС OSEK может быть базовой или расширенной, вытесняемой или не вытесняемой. Для расширенной задачи характерна возможность состояния ожидания события, в то время как базовой задаче это несвойственно. Вытесняемая задача может быть вытеснена задачей более высокого приоритета или остановлена командой прерывания прерыванием. Не вытесняемая задача может быть вытеснена только с помощью прерывания.

Уровни обработки в OC OSEK
Рисунок 1. Уровни обработки в OC OSEK

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

Реализации, которые соответствуют базовым классам, требуют использования только базовых задач, в то время как для расширенных классов нужны как расширенные, так и базовые задачи. Классы же определяют количество запросов на задачу и количество задач на один приоритет.
Задача находится в одном из четырех состояний:
  • выполняется - задача использует ресурс ЦП;
  • готова к выполнению – участвует в планировании и будет выбрана планировщиком на основании приоритетов и правил вытеснения;
  • ожидает – задача ждет появления события;
  • приостановлена – задача в пассивном состоянии и ждет активации.

Логический уровень планировщика

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

Уровень прерываний

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

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

Надежность OSEK – контроль над ошибками

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

В ОС OSEK определено два типа ошибок – фатальные ошибки и ошибки приложения. Обнаружение нарушения целостности внутренних данных приводит к фатальной ошибке. Выявление фатальной ошибки вызывает сервис завершения работы ОС.

Ошибка приложения возникает при попытке приложения выполнить несанкционированную операцию. При этом целостность внутренних данных все еще сохраняется и ОС сохраняет свою работоспособность.

Аналоги

На рынке присутствуют и другие операционные системы. Компания Microsoft в версии Sync OS, построенной на платформе Windows Auto, предложила средства поддержки беспроводных гарнитур для мобильных телефонов, электронной почты, а также возможность загрузки музыки. Около десятка новых автомобилей Ford будут работать под управлением данной ОС.

Корпорация Toyota в числе прочих также использует платформу Windows Auto в своих навигационных системах и телематических устройствах G-Book, которые устанавливаются в ряде автомобилей.

BMW, DaimlerChrysler и другие крупные европейские участники рынка объединились для совместной разработки новой операционной системы следующего поколения. Однако в текущих версиях автомобильного программного обеспечения разработчики используют стандарты Autosar и не сообщают об успехах в создании новой версии.

Японцы же создают свою собственную ОС под названием JasPar (японская автомобильная программная базовая платформа). Её разрабатывают лидирующие производители автомобилей и автомобильных компонентов, такие как Toyota, Nissan, Honda, Denso, Toshiba. Первую концептуальную версию данной ОС разработчики планировали продемонстрировать в 2009 году, однако, из-за тяжелого положения в автомобильной индустрии, проект был приостановлен.

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


Скачать PDF-версию статьи можно здесь >>