OpenComRTOS
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() Вид приложения OpenComRTOS | |
Разработчик | Альтреоник Н.В. |
---|---|
Написано в | АНСИ С |
Семейство ОС | Распределенное микроядро |
Рабочее состояние | Текущий |
Исходная модель | Исходный код доступен, лицензия |
Первоначальный выпуск | 2008 год |
Последний выпуск | 1,6 / август 2014 г |
Маркетинговая цель | Встроенные системы |
Доступно в | Английский |
Менеджер пакетов | MSI-файл пакета OpenComRTOS |
Платформы | Freescale PowerPC , Texas Instruments C66xxx DSP , ARM , XMOS , MicroBlaze , LEON , NXP CoolFlux DSP , Melexis MLX16, Win32 , Linux |
ядра Тип | сетецентрическое передачи сообщений в реальном времени микроядро |
По умолчанию пользовательский интерфейс | Среда разработки на хост-машине |
Лицензия | Двоичный, исходный код, открытая технология |
Предшественник | Виртуоз |
Преемник | ВиртуозСледующий |
Официальный сайт | www |
OpenComRTOS — это коммерческая сетецентрическая официально разработанная операционная система реального времени (RTOS), ориентированная в основном на рынок встраиваемых систем .
Обзор
[ редактировать ]OpenComRTOS был разработан с использованием формальных методов . Он имеет такие функции, как способность прозрачно поддерживать гетерогенные многопроцессорные системы, независимо от размера слова процессора ( 16-бит , 24-бит , 32-бит , 64-бит ) и среды связи (общая память, шины, точечные соединения «точка-точка» или виртуальные каналы на существующих механизмах связи). Типичный размер кода на 32-битном целевом процессоре составляет около 5 Кибайт.
OpenComRTOS основан на парадигме метамоделирования Interacting Entities . В ОСРВ единицей выполнения является Задача (функция с локальным рабочим пространством или стеком). Сущности задач синхронизируются и взаимодействуют с помощью промежуточных сущностей концентраторов , которые отделены от взаимодействующих задач. Хабы формально моделируются как Guarded Actions . Текущая реализация предоставляет функции традиционных служб RTOS, таких как события, семафоры, порты, стеки «первым пришел — первым обслужен» ( FIFO ), ресурсы, пулы пакетов и пулы памяти . Пользователь также может создавать собственные типы концентраторов.
OpenComRTOS использует единую архитектуру с задачами ядра , задачами драйверов и задачами приложений, каждая из которых имеет входной порт задачи. Тот же интерфейс используется для процедур обслуживания прерываний. Базовая архитектура основана на использовании приоритетной коммутации пакетов , при этом связь и маршрутизация являются частью базовых системных служб. Одним из результатов является то, что исходный код задач не зависит от сопоставления задач и хабов с узлами обработки в целевой системе.
История
[ редактировать ]Первоначальной целью разработки OpenComRTOS было предоставление среды выполнения программного обеспечения, поддерживающей последовательную и унифицированную методологию системного проектирования, основанную на Interacting Entities . Первоначально он был разработан Обществом открытых лицензий. [1] с 2005 года, а с 2008 года его дальнейшее развитие и коммерциализация осуществляется Altreonic. [2] Ранее разработанная ОСРВ под названием Virtuoso. [3] [4] [5] [6] [7] служил ориентиром. Virtuoso — это распределенная ОСРВ, разработанная Eonic Systems до тех пор, пока технология не была продана компании Wind River Systems в 2001 году. Ее общая функциональность прозрачной параллельной обработки (так называемая модель времени выполнения виртуального однопроцессорного процессора ) была основной движущей силой для ее лучшей переработки. . [8] [9] OpenComRTOS концептуально является четвертым поколением Virtuoso, хотя это была разработка в «чистой комнате». ОСРВ Virtuoso возникла на основе новаторского Inmos Transputer , частичной аппаратной реализации CAR Hoare ( алгебры процессов CSP).Самые сложные приложения: [ нужна ссылка ]
- Система разведки нефти с 12 000 процессорами с микроконтроллерами, DSP с фиксированной и плавающей запятой и хостом Linux в одной сети.
- Сонарная система с 1600 DSP с плавающей запятой.
- Космические миссии ЕКА «Розетта» и «Джотто».
- Преобразование приложения объемом 400 000 строк, работающего на RTOS в стиле переносимого интерфейса операционной системы ( POSIX ), в OpenComRTOS.
Формальный подход к разработке
[ редактировать ]При разработке OpenComRTOS применялся систематический, но итеративный процесс проектирования. После определения требований и спецификаций модели были разработаны с использованием Лесли Лэмпорта ( временной логики действий TLA+), а затем проверены с помощью соответствующей программы проверки моделей TLC. На основе этих моделей был написан код, а затем третий человек создал новые модели в TLA+, чтобы убедиться, что реализация по-прежнему изоморфна. Таймер и связанные с ним функции тайм-аута для сервисов были проверены с помощью Uppaal Model Checker . В 2011 году Springer опубликовал книгу о проекте OpenComRTOS. [10]
OpenComRTOS Designer: среда и инструменты разработки
[ редактировать ]OpenComRTOS поставляется со множеством инструментов. Visual Designer — это среда визуального моделирования, в которой пользователь графически задает топологию узла и топологию приложения. На основе этих диаграмм создается модель времени выполнения конкретного приложения. Код конкретного приложения предоставляется в ANSI C для каждой задачи. Выполнение во время выполнения и межпроцессорное взаимодействие визуализируются с помощью Event Tracer . Системный инспектор позволяет считывать и изменять структуры данных.Дополнительные модули — это модули хост-сервера (они обеспечивают доступ любой задачи к службам хост-узла) и безопасная виртуальная машина для C. Последний требует около 3 КиБ (10 КиБ для программы и данных) и позволяет динамически загружать двоично скомпилированный код C во время выполнения.
Портативность
[ редактировать ]OpenComRTOS был разработан для встраиваемых систем и написан на переносимом ANSI C , за исключением переключения контекста и интерфейсов ISR.OpenComRTOS был портирован на следующие цели: Freescale PowerPC, Texas Instruments C66xx DSP, Melexis MLX16, ARM Cortex M3/4, Xilinx MicroBlaze, LEON3, NXP CoolFlux DSP, а также для MS-Windows и Linux. Последние версии обеспечивают прозрачную интеграцию хост-узлов, а также служат системами перекрестной разработки и моделирования. Поскольку ядро RTOS идентично для одно- и многопроцессорных узлов, для поддержки многопроцессорной системы требуется только написать небольшой драйвер уровня задачи, который может отправлять и получать пакеты.
OpenComRTOS доступен в виде двоичных кодов, лицензий на исходный код и лицензий на открытые технологии. Последний предоставляет формальные модели, проектную документацию, исходный код и наборы тестов.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Общество открытой лицензии» .
- ^ «www.altreonic.com | Из глубокого космоса в глубокое море» . www.altreonic.com . Проверено 29 апреля 2023 г.
- ^ Верхюльст, Эрик (2003). «За пределами машины фон Неймана: коммуникация как движущая парадигма проектирования MP-SOC от программного обеспечения до аппаратного обеспечения». В Янче, Аксель; Тенхунен, Ханну (ред.). Сети на чипе . Хингем, Массачусетс, США: Kluwer Academic Publishers. стр. 217–238. дои : 10.1007/b105353 . ISBN 978-1-4020-7392-2 . S2CID 19233943 .
- ^ Э. Верхюльст. «Виртуоз: обеспечение переключения контекста за субмикросекунду при помощи специального наноядра». Международная конференция по приложениям и технологиям обработки сигналов , Санта-Клара, сентябрь 1993 г.
- ^ Э. Верхюльст. «За пределами транспутирования: полностью распределенная семантика в модели программирования виртуального однопроцессорного процессора Virtuoso и ее реализация на готовых параллельных DSP». В Proceedings of WoTUG-20: Parallel Programming and Java , 1997, страницы 77–86.
- ^ Э. Верхюльст. «Непоследовательная обработка: устранение семантического разрыва, оставленного архитектурой фон Неймана». В «Системах обработки сигналов» SIPS'97 , страницы 35–49.
- ^ Э. Верхюльст. «Обоснование распределенной семантики как топологической независимой методологии проектирования встроенных систем и ее реализация в Virtuoso RTOS». Автоматизация проектирования встраиваемых систем , 2002, 6:277–294. два : 10.1023/A:1014018820691 .
- ^ Э. Верхюльст, Г. де Йонг. «OpenComRTOS: сверхмалая сетецентрическая встроенная RTOS, разработанная с использованием формального моделирования». В материалах 13-й международной конференции SDL Forum по проектированию надежных систем, SDL'07 , страницы 258–271, Берлин, Гейдельберг. Спрингер-Верлаг.
- ^ Эрик Ферхюльст, Гьялт де Йонг, Виталий Межуев. «Промышленный пример: подводные камни и преимущества применения формальных методов к разработке сетецентрической ОСРВ». В Куэльяре Дж., Майбауме Т. и Сере К., редакторах, FM 2008: Формальные методы , том 5014 конспектов лекций по информатике, страницы 411–418. Шпрингер: Берлин, Гейдельберг.
- ^ Формальная разработка сетецентрической ОСРВ: разработка программного обеспечения для надежных встраиваемых систем Эрик Верхюльст, Раймонд Т. Буте, Хосе Мигель Сампайо Фариа и Бернхард Х.К. Спут ( ISBN 978-1-4419-9735-7 ) 1-е издание., 2011, XVII, 219 с. 54 иллюстрации
Внешние ссылки
[ редактировать ]- Официальный сайт , Альтреоник