+7 (812) 494-9090
Обратная связьEnglish
Главная → Продукты → Системное ПО → Российская операционная система реального времени для IT-оборудования и Интернета вещей
Павел Локтев, Руководитель группы продаж
Заказать звонок Задать вопрос
Версия для печати

Российская операционная система реального времени для
IT-оборудования и Интернета вещей


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

Продукт получил название «ОСРВ МАКС» — операционная система реального времени для мультиагентных когерентных систем.

ОСРВ МАКС – лауреат конкурса «Лучший инновационный продукт 2017» (номинация «Информационные технологии и радиоэлектроника»).

Проект по переводу всех типов процессоров АО «ПКК Миландр» на операционную систему реального времени МАКС – победитель конкурса лучших IT-проектов России Global CIO в номинации «Лучшая отечественная разработка 2017».

Скачать демоверсию Купить

Демоверсия ОСРВ МАКС — полнофункциональное ядро с планировщиком реального времени и механизмами синхронизации задач.

  • Реализует базовые возможности коммерческой версии
  • Содержит исходный код
  • Сопровождается оригинальной документацией
  • Позволяет разрабатывать полноценные встраиваемые приложения
  • Включает:
    • пример готового приложения, демонстрирующий одновременное выполнение нескольких задач
    • минимальное стартовое приложение, которое можно использовать для создания собственного программного обеспечения
    • предварительно настроенные проекты для сред разработки Keil MDK-ARM 5 и IAR Embedded Workbench 7.5

При наличии отладочной платы и среды разработки можно просто и быстро проверить работоспособность системы. (Приложения могут быть запущены на отладочных платах Миландр 1986ВЕ91(94), 1986ВЕ92 и STM32F429-DISCO от ST Microelectronics).

Лицензия для демоверсии разрешает её использование исключительно в ознакомительных целях, любое коммерческое использование запрещено.




Читать все новости


Функциональность Функциональность и характеристики производительности ядра системы сопоставимы с наиболее популярными продуктами в сегменте встраиваемых ОС.
программный продукт зарегистрирован в Федеральной службе по интеллектуаль- ной собственности (Роспатент) Программный продукт зарегистрирован в Федеральной службе по интеллектуальной собственности (Роспатент), в настоящее время проходит сертификацию в Федеральной службе по техническому и экспортному контролю (ФСТЭК) по четвертому уровню контроля недекларированных возможностей (НДВ).
комплект документации соответствует требованиям ГОСТ Комплект документации соответствует требованиям ГОСТ 19.105-78, ГОСТ 19.106-78 и ГОСТ 19.504-79 и содержит руководство программиста с описанием программного интерфейса, примерами использования системных сервисов и инструкциями по развёр­тыванию и настройке.
полностью оригинальная российская разработка
Полностью оригинальная российская разработка:
в проекте не используются сторонние компоненты или фрагменты других ОСРВ, что позволило воплотить самые современные архитектурные решения.
поставка включает сконфигурированныепроекты поддерживаемых сред разработки
Поставка включает демонстрационные и шаблонные проекты для поддерживаемого оборудования и сред разработки, что позволяет быстро ознако­миться с принципами системы и начать работу.



Ключевые характеристики системы

Целевые платформы Целевые платформы: ARM Cortex М0/М0+/М1/М3/М4 (+FPU), Analog Devices TigerSHARC;
Планируемые платформы: Xilinx MicroBlaze и др.
Отсутствие программных ограничений Отсутствие программных ограничений на количество обрабатываемых задач и объек­тов синхронизации.


Поддержка аппаратного обеспечения

АО "ПКК Миландр"

Производства АО «ПКК Миландр»: микроконтроллеры 1986ВЕ1Т, 1986ВЕ8Т, 1986ВЕ91Т, 1986ВЕ94Т, 1986ВЕ4У, 1986ВЕ4У1, 1986ВЕ92У, 1986ВЕ93У, К1986ВЕ1QI, К1986ВЕ92QI, 1967ВН028, 1967ВН044, включая готовые проекты для отладочных комплектов на базе микроконтроллеров 1986ВЕ1Т, 1986ВЕ91Т, 1986ВЕ92У, 1986ВЕ94Т, К1986ВЕ1QI, К1986ВЕ92QI; микросборки «Флип-Чип» и «Осведомленность».

STMicroelectronics
Производства STMicroelectronics (включая готовые проекты для отладочного комплекта STM32F429I-DISCO).


Поддержка средств разработки

Armkeil
Keil MDK-ARM 5 (μVision).
IAR Embedded Workbench
IAR Embedded Workbench for ARM.
eclipse
Eclipse + GCC.


ОСРВ МАКС — это:
Российская ОСРВ
  • Отсутствие НДВ.
  • Регистрация в Роспатенте.
  • Сертификация ФСТЭК (в процессе).
  • Поддержка российского «железа».
  • Русскоязычная ГОСТ-документация.
Мирового уровня
  • Все стандартные механизмы ОСРВ.
  • Микроядро.
  • Производительность сравнима с лидерами рынка.
  • Поддержка популярных сред разработки.
  • Подробная документация.
  • Шаблонные проекты для быстрого старта.
Для Embedded и IoT
  • Механизмы для организации взаимодействия устройств.
  • Поддержка Mesh/динамической маршрутизации.
  • Поддержка аппаратных IoT-решений/SoC.


Документация

ОСРВ МАКС: руководство программиста



Планировщик:
  • динамическое создание и удаление задач,
  • планирование на основании приоритетов,
  • поддержка режимов вытесняющей и кооперативной многозадачности,
  • выбор режима выполнения задач — привилегированного или непривилегированного,
  • режим энергосбережения,
  • поддержка многоядерных систем (в разработке).

Объекты синхронизации:
  • бинарные и считающие семафоры,
  • рекурсивные и нерекурсивные мьютексы с поддержкой наследования приоритетов,
  • события,
  • очереди сообщений,
  • барьеры (в разработке).

Использование аппаратных средств защиты памяти:
  • для защиты стека процессов от переполнения,
  • для защиты памяти по нулевому адресу,
  • для защиты портов периферии от непривилегированного доступа.

Обработка прерываний в пользовательских задачах:
  • активизация пользовательских задач-обработчиков из предопределённого универсального обработчика прерываний, не требующего дополнительной настройки,
  • возможность назначить несколько задач-обработчиков для одного прерывания,
  • управление последовательностью обработки через приоритеты задач-обработчиков.

Профилирование:
  • измерение времени выполнения секций кода от точки до точки или в области видимости автоматической переменной,
  • возможность автоматической настройки (повышение точности измерения за счет вычисления задержек собственной работы),
  • формирование статистики замеров с группировкой секций по разделам (полное время выполнения всех секций с учётом и без учёта вложенности, минимальное/среднее/максимальное время выполнение секции, среднеквадратичное отклонение).

Механизм разделяемой памяти на уровне устройств (Shared Memory):
  • синхронизация контекста задач между устройствами,
  • обмен сообщениями внутри группы устройств.
«Перевод всех типов процессоров АО «ПКК Миландр» на единую ОС — операционную систему реального времени МАКС» «Перевод всех типов процессоров АО «ПКК Миландр» на единую ОС — операционную систему реального времени МАКС»
«Построение гетерогенной mesh-сети для системы «умного» энергоучета в жилом многоквартирном доме» «Построение гетерогенной mesh-сети для системы «умного» энергоучета в жилом многоквартирном доме»
Почему умный дом должен быть сmeshным? Почему умный дом должен быть сmeshным?

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


Робототехника, БПЛА
  • Система управления
    Электроника управления устанавливается непосредственно на самом роботе и реализует алгоритмы, позволяющие ему решать поставленную задачу.

  • Система телеметрии
    Обеспечивает связь между роботом и удалённым терминалом, даёт возможность оператору получать сведения о состоянии робота и отправлять команды.

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

Системы «умного дома»
  • Управление электропитанием и освещением
    Обеспечение бесперебойного электроснабжения здания, контроль расхода электроэнергии, автоматическое включение/отключение освещения в зависимости от присутствия людей в помещении и контроль уровня освещённости (регулирование яркости света в разное время суток).

  • Управление климатом
    Поддержание комфортного микроклимата в помещении (регулирование температуры и влажности, вентиляция и очистка воздуха) осуществляется в зависимости от предпочтений пользователя, присутствия людей в помещении, а также внешних факторов (погода, время суток).

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

Потребительская электроника и бытовая техника

С развитием технологий бытовые приборы становятся более функциональными и удобными в использовании. Например, в настоящее время потребителю уже доступна техника, управляемая централизованно со смартфона или планшета вместо отдельных пультов ДУ. «Умная» техника требует всё меньше внимания со стороны человека, что даёт возможность пользователю значительно экономить время и деньги (роботы-пылесосы самостоятельно занимаются уборкой, функции отложенного старта и автоотключения контролируют время работы устройства и тем самым оптимизируют расход электроэнергии). Бурно развивающиеся технологии Интернета вещей (Internet of things, IoT) предполагают и вовсе полную автономность устройств, что порождает высокие требования к их программной начинке, а со стороны разработчиков этих устройств растет интерес к ОС, уже «из коробки» предоставляющих сервисы и протоколы взаимодействия, позволяющие обеспечить эту автономность.


Структура IoT-решений

Структура IoT-решений


Технологии Интернета вещей предполагают полную автономность устройств. Это порождает высокие требования к их программной начинке. Со стороны разработчиков этих устройств растет интерес к ОС, предоставляющих уже «из коробки» сервисы и протоколы взаимодействия, позволяющие обеспечить эту автономность.

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

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

  • Увеличение дальности связи
    Каждое из устройств может обладать небольшой дальностью связи. Однако территориальное распределение множества соединённых друг с другом устройств позволяет обеспечить гораздо большее покрытие.

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

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

  • Масштабируемость
      Ввод и вывод устройств из сети происходит безболезненно и автоматически. Сеть «сама разберется», какое устройство в ней появилось и как его задействовать.

Сферы применения
  • Датчики, сенсоры, преобразователи
  • Системы «умного дома», «умного города»
  • Интернет вещей (Internet of things, IoT)
  • Промышленная автоматика, управление
  • Робототехника
  • Медицинское оборудование
  • Ж/д транспорт
  • Потребительская электроника
  • Системы связи

Ключевая особенность ОСРВ МАКС — поддержка разделяемой памяти на уровне устройств. Данный механизм обеспечивает автоматическую, устойчивую к сбоям отдельных компонентов синхронизацию информации между узлами распределенной системы. Благодаря этому, решения для совокупности устройств, работающих под управлением ОСРВ МАКС, могут реализовать качественно новые подходы к выполнению прикладных задач и обеспечить следующие преимущества:

Современное решение задачи множеством устройств Производительность
  • Современное решение задачи множеством устройств.
Распределённое резервирование данных, горячая замена оборудования Надежность
  • Распределенное резервирование данных.
  • Горячая замена оборудования.
Автоматическая реконфигурация сети устройств, Mash-сети Масштабируемость
  • Автоматическая реконфигурация сети устройств.
  • Mesh-сети.

МАКС помогает разрабатывать ПО для устройств на микроконтроллерах быстрее и дешевле, а также использовать дополнительные модули.
  • Производство ПО ускоряется (многозадачность, приоритеты, семафоры, таймеры и др. — из «коробки»).
  • Структура и переносимость упрощается (что позволяет сосредоточиться на сути задачи, платформо-специфичные сервисы оставить ОС).
  • Надежность повышается (поскольку ОС тщательно тестируется).


МАКС применяется во встраиваемом оборудовании и Интернете вещей: датчики, сенсоры, преобразователи, системы «умного дома», «умного города», робототехника, БПЛА, медицинское оборудование, ж/д транспорт, потребительская электроника (т. е. создана не для обычных компьютеров).



Нет. ОСРВ МАКС написана полностью разработчиками АстроСофт, без заимствований чужого кода.



  • Характеристики — на уровне мировых лидеров.
  • Сертифицированная российская ОС, что важно при работе с государственными заказчиками.
  • Документация и поддержка — на русском языке (разобраться проще и быстрее).
  • Объектно-ориентированный интерфейс (более структурный и компактный код).
  • Работает на отечественном аппаратном обеспечении (например — ПКК «Миландр»).
  • Гарантированная поддержка (вся команда находится в России, поддержка осуществляется легко и быстро. Нет зависимости от западных вендоров).


  • Для работы на 32-разрядных микроконтроллерах общего назначения без виртуализации памяти (блока MMU). Это аппаратное обеспечение предназначено для решения широкого спектра прикладных задач, но его вряд ли можно назвать мощным, т. к. размер доступной памяти исчисляется килобайтами, а частота процессора обычно ограничивается 150-200 МГц.
  • Также поддерживает работу на процессорах ЦОС со статической суперскалярной архитектурой серии 1967ВН0хх производства «Миландр».
  • Многоядерные высокопроизводительные процессоры на базе архитектур x86, ARM Cortex-A, MIPS и др. в данный момент не поддерживаются.



Планируем поддержку всех процессоров семейства ARM Cortex-M, отдельных DSP-процессоров. В перспективе — поддержка архитектуры MicroBlaze.



Список поддерживаемых платформ будет расти в зависимости от потребностей пользователей. Изначально поддержка высокопроизводительных платформ (вроде Cortex-A или x86) не предполагалась, но возможна: определённый интерес (в частности именно к Cortex-A) есть, и мы анализируем перспективность развития системы в данном направлении.



  • ОСРВ МАКС поддерживает ряд микроконтроллеров, младший по производительности в этой линейке — ARM Cortex-M0. Он 32-разрядный, однако принципиального ограничения по разрядности нет, и МАКС может быть портирована даже на 8-битную платформу.
  • По производительности нужно ориентироваться на потребности прикладного ПО. Например, если используется «слабый» микроконтроллер на пределе его возможностей, то использование ОСРВ может быть нецелесообразным. Вместе с тем, если в прикладном ПО используется многозадачное программирование или это ПО не тривиально, это может быть признаком того, что ОСРВ здесь будет полезна.



  • Ведутся работы по реализации TCP/IP-стека, планируется поддержка протокола MQTT.
  • Сетевое взаимодействие обеспечивается дополнительными модулями ОС, один из них — модуль Mesh. Он не привязан к конкретному оборудованию и может работать с различными приёмопередатчиками, обеспечивающими одноранговое пакетное взаимодействие.



В ОСРВ МАКС нет встроенных драйверов периферии. Подсистема ввода/вывода использует стандартные библиотеки драйверов, предоставляемые производителем оборудования (например, STM32 Standard Peripherals library).

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



  • Да. Некоторые модули уже поддерживаются (через специальные классы), их список постепенно расширяется.
  • В планах — доработка подсистемы ввода/вывода, которая будет работать со всеми устройствами и средствами ОС. Для внешних устройств будет предусмотрен интерфейс «стыковки» со сторонними драйверами. При наличии уже готового драйвера разработчик реализует прослойку для совмещения интерфейсов. Или же изначально разрабатывает собственный драйвер с нужным интерфейсом.



GraphDriver не является драйвером конкретного экрана. Это некая надстройка над низкоуровневым драйвером экрана, которая обобщает интерфейс работы с графикой и при необходимости эмулирует недостающие функции (например, если в драйвере нижнего уровня нет функции рисования линии, то GraphDriver будет выводить её попиксельно).

На вход он принимает набор функций, реализующих работу с конкретным оборудованием (из них необходимые — только функции получения размеров экрана и вывода пикселя). Поэтому он может работать с любым оборудованием. Например, мы сейчас используем его с пятью различными моделями контроллеров ЖК-дисплеев.



В начале 2018 года.



Shared Memory и Mesh — дополнительные, коммерческие модули.

  • МАКС DSM (от англ. Distributed Shared Memory) обеспечивает обмен данными между несколькими устройствами, которые не имеют общей физической памяти, но соединены между собой каким-нибудь каналом связи (UART, RF, и др.).
  • Модуль Mesh позволяет объединять несколько устройств в сеть с динамической структурой. Каждый из узлов такой сети способен собирать информацию о её структуре, и на основе этих данных производить ретрансляцию пакетов между соседними узлами, т. е. выполнять роль маршрутизатора.