Перспективные разработки семейства ОСРВ FX-RTOS, Дмитрий Алексеев, старший программист ЭРЕМЕКС

Перспективные разработки семейства ОСРВ FX-RTOS, Дмитрий Алексеев, старший программист ЭРЕМЕКС Добрый день. Мой доклад попытаемся моим докладом закрыть следующий...

Перспективные разработки семейства ОСРВ FX-RTOS, Дмитрий Алексеев, старший программист ЭРЕМЕКС

10.04.2023

Выставка Электроника России. 23 ноября 2022 г.

Дмитрий Алексеев, старший программист ЭРЕМЕКС.

Тема доклада: «Перспективные разработки семейства ОСРВ FX-RTOS»

Перспективные разработки семейства ОСРВ FX-RTOS, Дмитрий Алексеев, старший программист ЭРЕМЕКС

 

Добрый день. Мой доклад попытаемся моим докладом закрыть следующий этап маршрута разработки, а именно разработку программного обеспечения для электроники, а именно наш продукт это операционная система реального времени для микроконтроллеров и микропроцессоров. Начну сразу с места kernel. Что такое операционная система реального времени в понимании пользователя?

 Это такой удобный инструмент фреймворк, который предоставляет возможность организации многозадачности на одноядерном процессоре. Представляет собой некую библиотеку, которая компонуется с программой программиста разработчика приложения конкретного она может использоваться с любыми инструментами разработки и компиляции. У нас поддерживаются все основные компиляторы.
 И также все основные виды микроконтроллеров.  предоставляет она реализацию потоков, планировщик, взаимодействие между задачами для синхронизации, для взаимного исключения и каки-х то сложных механизмов. Программные таймеры, работает она в жёстком реальном времени, то есть время реакции на внешние события зависят только от более высоко приоритетных задач, которые в этой системе существуют, которые программисты разработчик должен рассчитать для того чтобы уложиться вот в какие то рамки временные. Ну Извините, что так много текста, но на самом деле я рассчитывал, что это презентация потом утечёт в сети ,можно будет её читать, а есть стандартная версия.

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

 У нас есть бесплатная версия на github можно ознакомиться.
Есть еще специальная разработка для, которая была сделана для компании Фаствел по минимизации времени отклика. Был сделан такой супер режим для микроконтроллеров
cortex-m, что ядро не запрещает прерывания. Все вытеснение реализовано на аппаратной поддержке самого микроконтроллера.
 Время реакции достигнуто менее 5 микросекунд на 100 мегагерцовом  контроллере. Время реакции на прерывание имею ввиду вне зависимости от количества активных таймеров, системных потоков и так далее. Есть также версия
secure, она может быть применима в каких то приложениях, где есть много наследованного кода внешнего .
  Есть  требования к информационной безопасности, например, интернет вещей. Она позволяет разделить задачу на выполняющуюся в привилегированном режиме вместе с ядром и в не привилегированном, то есть привилегированная часть работает она так же, как и в версии
secure attence, а не привилегированным доступны только определённые регионы памяти. Она использует системные вызовы, в том числе системные вызовы могут быть добавлены самим программистом пользователем. Она также ориентирована на контроллеры cortex-m в том числе и отечественные.       Также на микроконтроллере риск 5 с поддержкой защиты памяти.
У нас есть перспективная разработка операционной системы для микропроцессоров с поддержкой виртуальной памяти, с поддержкой выделенных процессов уже полностью, она построена на микро ядерной архитектуре, есть ядро, есть отдельные процессы и сервисы, которые реализуют доступ к файловой системе, доступ к устройствам, доступ к правам пользователя и так далее. И если кто-то ну наверняка знает
qnx они в принципе построены по такой же архитектуре.
  Да вот это слайд из презентации про
microkernel, всё взаимодействие идет через обмен сообщениями. Здесь, конечно, есть некоторые накладные расходы на копирование данных из одного процесса в другой заодно, но вместо этого появляется возможность изолировать процессы друг от друга и убрать из ядра не доверенный код, такой как драйверы, какие то сетевые стейки, какие то дополнительные промежуточные библиотеки что позволяет снизить , сузить вектора атаки, убрать уязвимости из критичных компонентов системы и таким образом достигнуть некоторого компромисса между надёжностью и быстродействием.

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

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

  Ну и мы поддерживаем компелляторы и кейлы и кейл и ар , силанг  ну вообщем то все что на данный момент существует. Приобрести вы можете у наших партнеров ,либо у нас на сайте эремекс в компании. Это ссылка на github,где можно ознакомиться с исходными кодами, скачать примеры, посмотреть как используется ,какие-то демо-версии для отечественных контроллеров и для каких-то зарубежных популярных можно найти. Также можно обратиться за более подробной информацией на сайт эремекс и в телеграмм группу для поддержки лайт версии. Все, спасибо за внимание.

 Спасибо большое Дмитрий. Есть ли вопросы? Да есть вопрос. Какие отличия от флертос - преимущества ,недостатки? Т.е флиртос я могу свободно скачать, это знакомо. Да вы тоже можете свободно скачать нашу версию лайт , она ничем не хуже флиртоса ,вы можете в этом убедиться . ну у флиртоса на данный момент нету такого разнообразия конфигурации, ну насколько я знаю на текущий момент не было полноценной защиты памяти ,т.е там были дыры с возможностью выхода из не привилигерованного режима в привилигированный. Детерминизм некоторых компонентов тоже оставляет желать лучшего, и мы проводили тесты по ну как бы набору тестов трейдмэтрикс мы лучше по производительности на 70% тестов, на других мы где-то на уровне том же самом.

Смотрите, читайте, критикуйте

Настоящий ресурс содержит материалы 16+