OSE RTOS
Операционная система реального времени OSE RTOS, разработанная в корпорации ENEA, имеет ядро с приоритетным планированием [OSERTOS]. Это ядро сильно оптимизировано для обеспечения высокой производительности и достаточно компактно для использования во встраиваемых системах. OSE имеет архитектуру, управляемую сообщениями, с простыми системными вызовами. Передача сообщений в OSE служит концептуальным шлюзом в распределенных многопроцессорных встраиваемых системах. Задачи посылают сообщения друг другу напрямую через ОС без поддержки очередей, почтовых ящиков или других промежуточных механизмов. OSE RTOS поддерживает подкачку, дублирование, динамическое обновление кода и многие коммуникационные протоколы.
OSE RTOS предлагает три варианта ядра, построенные по одному принципу. OSE Epsilon – для глубоко встраиваемой и SoC (system-on-chip) разработки. OSEck – компактное ядро для DSP. OSE Link Handler – для многочисленных смешанных CPU/DSP проектов. Все они поддерживают очень маленькое количество системных вызовов – от шести до восьми.
Архитектура OSE RTOS основана на многослойной модели (рис. 8).
Единицей выполнения в OSE RTOS является процесс. Процессы могут быть сгруппированы в блок, который может иметь собственный пул памяти. В ядре OSE RTOS адресное пространство принадлежит сегменту, который может включать один или больше блоков. Отображение блоков в сегменты и отображение пулов в регионы дает возможность достичь полной защиты памяти и изоляции программы. Блоки и пулы могут размещаться в одном или нескольких сегментах.
OSE RTOS оперирует разными типами и категориями процессов.
Типы процессов:
- Процессы прерываний возникают в ответ на аппаратные или программные прерывания, выполняются до конца, имеют самый высокий приоритет и такой же контекст, как и все другие процессы,
- таймерные процессы прерывания аналогичны процессам прерываний, за исключением того, что они предусматриваются планировщиком периодически в соответствии с указанным периодом времени,
- приоритетные процессы являются самыми распространенными процессами в OSE RTOS и выполняются до тех пор, пока не будут вытеснены процессом прерывания или процессом с более высоким приоритетом,
- фоновые процессы выполняются строго в режиме циклического обслуживания с квантованием времени на приоритетном уровне, который находится ниже всех приоритетных процессов.
Рис.8. Многослойная архитектура OSE RTOS.
Под категориями процессов в OSE RTOS понимается разделение процессов на динамические и статические. Статические процессы создаются ядром, когда система стартует, и существуют на всем протяжении существования системы. Динамические процессы создаются и уничтожаются во время выполнения.
Источником потенциальных возможностей OSE RTOS является механизм прямой передачи сообщений. Сообщение, посланное одним процессом другому, содержит идентификатор, адреса отправителя и получателя и данные. Как только сообщение послано, отправитель уже не имеет к нему доступа, т.е. собственность сообщения никогда не разделяется. Это важное свойство исключает конфликты доступа к памяти. Прямая передача сообщений концептуально более проста, чем стандартная косвенная модель, а уникальная разработка такой передачи оказалась чрезвычайно эффективной.