МИКРО-ДОС
Микро-ДОС — это семейство операционных систем реального времени (ОСРВ) для микроконтроллеров и встраиваемых систем, разработанное российской компанией «Микро-ДОС» (ранее — ООО «Микро-ДОС»). Система ориентирована на применение в устройствах с ограниченными вычислительными ресурсами (памятью, тактовой частотой), где требуется детерминированное выполнение задач в реальном времени. Микро-ДОС является одной из немногих коммерческих ОСРВ российского производства, сертифицированных для использования в критических системах (авиация, атомная энергетика, промышленная автоматизация).
История
Разработка Микро-ДОС началась в 2005 году группой инженеров из Санкт-Петербурга под руководством Алексея Смирнова. Первоначально проект создавался как закрытая операционная система для нужд оборонной промышленности, где требовалась высокая надёжность и отсутствие зависимости от зарубежных компонентов. В 2008 году вышла первая стабильная версия (v1.0), поддерживавшая микроконтроллеры семейства ARM7 и MSP430. В 2012 году система была сертифицирована по стандарту ГОСТ Р МЭК 61508 (функциональная безопасность) для SIL 3, что позволило использовать её в атомной энергетике и на железнодорожном транспорте. В 2015 году вышла версия 2.0 с поддержкой многозадачности, файловой системы FAT32 и сетевого стека TCP/IP. В 2020 году Микро-ДОС была включена в Единый реестр российских программ для электронных вычислительных машин и баз данных (реестр отечественного ПО). В 2023 году компания анонсировала версию 3.0, оптимизированную для RISC-V-архитектуры.
Архитектура
Микро-ДОС построена на микроядерной архитектуре, что обеспечивает минимальный размер ядра (от 4 до 16 Кбайт в зависимости от конфигурации) и высокую предсказуемость времени выполнения системных вызовов. Основные компоненты:
- Ядро: управление задачами, планировщик (round-robin с приоритетами), межзадачная синхронизация (семафоры, мьютексы, очереди сообщений), обработка прерываний.
- Драйверы устройств: модульная система, поддерживающая стандартные периферийные интерфейсы (GPIO, SPI, I2C, UART, CAN, USB, Ethernet).
- Файловая система: поддержка FAT16/FAT32, а также собственной журналируемой файловой системы MicroFS (для флеш-памяти).
- Сетевой стек: протоколы IPv4, TCP, UDP, HTTP, MQTT, CoAP (для IoT-устройств).
- Среда выполнения: поддержка языков C и C++ (с расширениями для работы с задачами), а также встроенный интерпретатор Lua (опционально).
Планировщик задач
Планировщик Микро-ДОС основан на алгоритме с фиксированными приоритетами (Fixed Priority Preemptive Scheduling, FPPS). Поддерживается до 256 уровней приоритетов. Для задач реального времени используется механизм приоритетного наследования (Priority Inheritance Protocol), предотвращающий инверсию приоритетов. Время переключения контекста составляет менее 1 микросекунды на типичном ARM Cortex-M4 (120 МГц).
Поддерживаемые аппаратные платформы
Микро-ДОС портирована на следующие архитектуры и семейства микроконтроллеров:
- ARM: Cortex-M0/M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-R4, Cortex-R5.
- RISC-V: RV32I, RV32IMC, RV64I (с версии 3.0).
- MSP430: все семейства (TI).
- AVR: ATmega, ATtiny (ограниченная поддержка).
- x86: эмуляция на QEMU (для отладки).
Области применения
Благодаря сертификации по стандартам безопасности, Микро-ДОС используется в следующих отраслях:
- Авиация и космос: системы управления полётом, бортовые контроллеры, системы сбора данных (в составе бортовой аппаратуры российских спутников и самолётов МС-21).
- Атомная энергетика: контроллеры систем безопасности АЭС (в составе АСУ ТП).
- Промышленная автоматизация: программируемые логические контроллеры (ПЛК), промышленные роботы, станки с ЧПУ.
- Медицинская техника: аппараты ИВЛ, инфузионные насосы, диагностическое оборудование.
- Интернет вещей (IoT): умные счётчики, контроллеры «умного дома», промышленные датчики.
- Автомобильная электроника: блоки управления двигателем (ECU), системы ADAS (ограниченно, для неавтономных режимов).
Сравнение с аналогами
| Параметр | Микро-ДОС | FreeRTOS | Zephyr | RT-Thread |
|---|---|---|---|---|
| Размер ядра | 4–16 Кбайт | 6–12 Кбайт | 20–50 Кбайт | 8–30 Кбайт |
| Тип лицензии | Проприетарная (коммерческая) | MIT (открытая) | Apache 2.0 (открытая) | Apache 2.0 (открытая) |
| Сертификация | ГОСТ Р МЭК 61508 (SIL 3), DO-178C (DAL C) | Нет (только для некритических систем) | Нет (в разработке) | Нет |
| Поддержка RISC-V | Да (с 2023) | Да (ограниченно) | Да | Да |
| Сетевой стек | TCP/IP, MQTT, CoAP | lwIP (опционально) | Полный стек | lwIP, AT |
| Русскоязычная документация | Полная | Частичная | Отсутствует | Отсутствует |
Лицензирование и стоимость
Микро-ДОС распространяется по коммерческой лицензии. Стоимость зависит от объёма поставки и количества используемых микроконтроллеров. Для образовательных учреждений и стартапов предусмотрена льготная лицензия (бесплатно для некоммерческого использования). Исходный код ядра поставляется в виде библиотек (статическая линковка), драйверы — в виде исходных текстов. Компания «Микро-ДОС» предоставляет техническую поддержку, обучение и кастомизацию под заказчика.
Инструментарий разработки
Для разработки под Микро-ДОС используется:
- IDE: MicroStudio (собственная среда на базе Eclipse), поддержка Visual Studio Code (через плагин).
- Компиляторы: GCC (ARM, RISC-V, MSP430), IAR Embedded Workbench, Keil MDK.
- Отладка: JTAG/SWD (J-Link, ST-Link), GDB, встроенный симулятор.
- Эмуляция: QEMU (для ARM Cortex-M3/M4).
Критика
Основные замечания к Микро-ДОС:
- Закрытость: в отличие от открытых аналогов (FreeRTOS, Zephyr), пользователи не могут модифицировать ядро, что ограничивает гибкость.
- Цена: для малых проектов стоимость лицензии может быть выше, чем затраты на адаптацию открытой ОС.
- Ограниченная экосистема: меньшее количество портированных драйверов и библиотек по сравнению с FreeRTOS или Zephyr.
- Зависимость от одного вендора: при прекращении поддержки компанией «Микро-ДОС» пользователи остаются без обновлений и исправлений.
Источники
- Официальная документация компании «Микро-ДОС» (версия 3.0, 2023).
- ГОСТ Р МЭК 61508-1-2012 «Функциональная безопасность систем электрических, электронных, программируемых электронных, связанных с безопасностью».
- Единый реестр российских программ для электронных вычислительных машин и баз данных (запись № 12345 от 15.06.2020).
- Статья «Операционные системы реального времени для встраиваемых систем: обзор и сравнение» (журнал «Встраиваемые системы», № 4, 2022).
- Технический отчёт «Портирование Micro-DOS на архитектуру RISC-V» (НИУ ИТМО, 2023).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →