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

Проголосовать за нас в конкурсе РБК (номинация «Менеджер»)

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


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

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

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


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

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

  • Реализует базовые возможности коммерческой версии
  • Содержит исходный код
  • Сопровождается оригинальной документацией
  • Позволяет разрабатывать полноценные встраиваемые приложения
  • Включает:
    • пример готового приложения, демонстрирующий одновременное выполнение нескольких задач
    • минимальное стартовое приложение, которое можно использовать для создания собственного программного обеспечения
    • предварительно настроенные проекты для сред разработки 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ВЕ9Х -1986ВЕ91Т(94Т), 1986ВЕ92У, 1986BE1T).
STMicroelectronics
Производства STMicroelectronics (включая готовые проекты для отладочного комплекта STM32F429I-DISCO).


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

Armkeil
Keil MDK-ARM 5 (μVision).
IAR Embedded Workbench
IAR Embedded Workbench for ARM.
eclipse
Eclipse + GCC (в планах).


Взаимодействие множества устройств

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


Сводка


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


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

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

Использование MPU.

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

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

Механизм разделяемой памяти на уровне устройств (Shared Memory):
  • синхронизация контекста задач между устройствами;
  • обмен сообщениями внутри группы устройств.

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


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

Робототехника
Роботы — электронно-механические устройства, способные самостоятельно получать информацию о внешнем мире и на её основании осуществлять решение определённых задач. Стационарные роботы широко используются на производствах для выполнения различных технологических операций. Мобильные роботы востребованы в быту (уборка помещений) и в промышленности (транспортировка грузов, складская логистика). Дроны применяются в основном для видео- и аэрофотосъёмки (в том числе и в военных целях). Зачастую для обеспечения функционирования роботов задействуются сразу несколько электронных устройств:

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

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

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

Системы «умного» дома
Домашняя автоматизация представляет собой распределённую систему, которая обеспечивает автоматический контроль работы инженерных систем в жилом помещении. Подобно системам промышленной автоматики, основу «умного» дома составляют устройства обработки данных (контроллеры), различные датчики и исполнительные устройства. Как правило, «умный» дом объединяет несколько подсистем в единую систему управления зданием:

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

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

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

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

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

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

Эффект использования

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

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

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

Прорабатываемые в данный момент решения в области Mesh и IoT привнесут в систему дополнительные, принципиально новые возможности, особенно востребованные распределенными системами:

Поддержка сетей с ячеистой топологией (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 позволяет объединять несколько устройств в сеть с динамической структурой. Каждый из узлов такой сети способен собирать информацию о её структуре, и на основе этих данных производить ретрансляцию пакетов между соседними узлами, т. е. выполнять роль маршрутизатора.