Недавнее исследование XDA насчитало семь операционных систем, тихо работающих внутри среднего дома, от микропрограммы термостата до маршрутизатора и контроллера умной розетки — автор статьи имел в виду то, что большинство разработчиков упускают из виду. ОС на ноутбуках и телефонах получают все прессу; те, что работают со всем остальным в доме, получают почти никакой. Если вы разрабатываете устройство для умного дома, проект ESP32 или хобби-маршрутизатор, семь встроенных и IoT операционных систем для рабочих станций ниже охватывают почти каждую реальную рабочую нагрузку. Все инструменты разработки работают на Windows и Linux; целевое устройство — это любой кремний, который вы прошиваете.
На что обратить внимание при выборе встроенной ОС
Вопросы оценки, на которые стоит ответить перед выбором RTOS:
- Поддержка кремния. Работает ли она на семействе MCU, на которое вы нацеливаетесь (ESP32, STM32, nRF52, RP2040, RISC-V)?
- Объем памяти. Некоторые поставляются менее чем в 10 КБ flash; другим требуется 256 КБ.
- Стек сетевых протоколов. Поддержка Wi-Fi, BLE, Thread, Matter, LoRa и TCP/IP сильно варьируется.
- Лицензия. Разрешительные (MIT, BSD, Apache) против копилефта имеет значение для коммерческого микрокода.
- Интеграция цепочки инструментов. Поддержка IDE, плагин VS Code, интеграция PlatformIO.
- Сообщество и документация. Небольшое сообщество означает, что каждая проблема уникальна.
- Долгосрочная поддержка. Устройства IoT служат десять лет; ОС за ними тоже должна.
Быстрое сравнение
| ОС | Лучше всего для | Ядро | Лицензия | Минимум flash | RAM |
|---|---|---|---|---|---|
| FreeRTOS | Малые MCU, промышленное управление | RTOS | MIT | 4 КБ | 500 Б |
| Zephyr Project | Современный IoT, Matter, Thread | RTOS | Apache 2.0 | 8 КБ | 2 КБ |
| Contiki-NG | Маломощная беспроводная, LoRa | RTOS | BSD | 30 КБ | 10 КБ |
| RIOT OS | Академический + любительский IoT | RTOS | LGPL v2.1 | 5 КБ | 1.5 КБ |
| Mbed OS | Arm Cortex-M, быстрое прототипирование | RTOS | Apache 2.0 | 20 КБ | 4 КБ |
| NuttX | POSIX-совместимые встроенные | RTOS | Apache 2.0 | 32 КБ | 8 КБ |
| OpenWrt | Маршрутизаторы, граничные шлюзы | Linux | GPL | 4 МБ | 32 МБ |
Приложения
1. FreeRTOS, вездесущее ядро
FreeRTOS — это RTOS, который большинство людей уже имеют, работающий на чем-то в своем доме, и они об этом не знают. Amazon приобрела его в 2017 году и переименовала в FreeRTOS Kernel, затем встроила интеграцию AWS IoT. Работает почти на каждом 32-битном MCU, на который стоит обратить внимание (ARM Cortex-M, Xtensa, RISC-V) и на множество 8-битных и 16-битных микросхем.
Где это не срабатывает: Нет встроенной сети (принесите свой собственный стек, обычно LwIP). Ядро минималистично; вы собираете остальное.
Цены:
- Бесплатно: лицензия MIT.
- Платно: AWS-размещенные дополнения (сборки FreeRTOS Long Term Support через Amazon) начинаются с нуля и масштабируются для корпоративных контрактов.
Платформы: ARM Cortex-M/-A/-R, ARM7/9, Xtensa, RISC-V, MSP430, AVR и десятки других.
Суть: Безопасный выбор по умолчанию для любого проекта bare-metal-plus-scheduling на малом MCU.
2. Zephyr Project, современный выбор IoT
Zephyr — это ответ Linux Foundation на фрагментированное пространство RTOS. Модульный, активно разрабатываемый, с первоклассной поддержкой Matter, Thread и BLE из коробки. Шаблон наложения дерева устройств делает перенос одной микропрограммы на пять плат упражнением с конфигурационным файлом, а не переписыванием.
Где это не срабатывает: Кривая обучения круче, чем FreeRTOS. West (мета-инструмент Zephyr) имеет свою эргономику, которую вам нужно усвоить.
Цены:
- Бесплатно: Apache 2.0.
Платформы: ARM Cortex-M/-A/-R, Xtensa, RISC-V, x86, ARC.
Суть: Правильный выбор, если вы отправляете современный IoT продукт в 2026 году, особенно с поддержкой Matter.
3. Contiki-NG, специалист по маломощной беспроводной
Contiki-NG — это форк классического Contiki с современным фокусом на беспроводное. IPv6, 6LoWPAN, RPL и CoAP встроены. Если ваш проект — это маломощная ячеистая сеть (LoRa, 802.15.4), стек сетевых протоколов Contiki-NG действительно лучше, чем любой другой RTOS здесь.
Где это не срабатывает: Меньшее сообщество разработчиков, чем Zephyr или FreeRTOS. Меньше коммерческих инструментов поставщиков.
Цены:
- Бесплатно: 3-пункт BSD.
Платформы: TI CC26xx, nRF52, собственный (для моделирования).
Загрузка: GitHub
Суть: Лучший выбор для датчиков маломощной ячеистой сети. В противном случае Zephyr.
4. RIOT OS, выбор академиков, ставший практическим
RIOT начиналась как исследовательский проект в Берлине и превратилась в реальный рабочий RTOS. Очень компактный размер (ядро помещается в 5 КБ), IPv6/6LoWPAN по умолчанию, и API ближе к стандартному POSIX, чем у большинства RTOS здесь. Популярен в университетах, все чаще встречается в коммерческом IoT.
Где это не срабатывает: Лицензия LGPL v2.1 имеет значение для закрытых коммерческих продуктов. Прочитайте условия перед отправкой.
Цены:
- Бесплатно: LGPL v2.1.
Платформы: ARM Cortex-M, MSP430, AVR, x86, RISC-V, ESP32.
Суть: Твердый выбор для хобби и открытого исходного кода IoT. Проверьте последствия LGPL для коммерческого микрокода.
5. Mbed OS, вариант с привкусом Arm
Mbed OS — официальный RTOS Arm. Лучшая в своем классе поддержка кремния Cortex-M, прямая интеграция с Arm Keil MDK и Arm Compiler, и огромная библиотека драйверов, поддерживаемых поставщиками. Arm замедлил активную разработку в 2024 году, поэтому темп замедлился, но отправленная кодовая база надежна.
Где это не срабатывает: Темп разработки замедлился. Не будущезащищен для новых семейств кремния вне Arm.
Цены:
- Бесплатно: Apache 2.0.
Платформы: ARM Cortex-M.
Загрузка: GitHub
Суть: Хороший выбор для существующих проектов Cortex-M. Для нового проекта в 2026 году Zephyr — это более безопасный долгосрочный выбор.
6. NuttX, POSIX-совместимый RTOS
NuttX поставляется с API POSIX и ANSI-стандартом, который позволяет компилировать код, похожий на Linux, практически без изменений. Если вы хотите небольшой RTOS, который ощущается как небольшой Linux (fork, exec, pthreads, стандартные сокеты), это оно. Sony Semiconductor использует его в некоторых своих микросхемах обработки изображений; ArduPilot использует его для контроллеров полета дронов.
Где это не срабатывает: Больший размер, чем FreeRTOS. Меньше матрица поддержки кремния, чем Zephyr.
Цены:
- Бесплатно: Apache 2.0.
Платформы: ARM Cortex-M/-A/-R, Xtensa, RISC-V, AVR, MSP430, x86, PIC32.
Загрузка: Apache NuttX | GitHub
Суть: Выберите это, если вы хотите RTOS, но программируйте как будто это Linux. Популярна в сообществе дронов.
7. OpenWrt, маршрутизаторный и граничный Linux
OpenWrt — это дистрибутив Linux для встроенных устройств с достаточным объемом оперативной памяти для запуска реального ядра, а не RTOS. Он работает на маршрутизаторах, граничных шлюзах, модемах LTE и промышленных компьютерах. Если вы заменяете стандартную прошивку вашего потребительского маршрутизатора или строите шлюз для умного дома, это то, что работает сверху.
Где это не срабатывает: Не RTOS. Не может конкурировать на конце рынка с низким объемом менее 100 КБ.
Цены:
- Бесплатно: GPL.
Платформы: MIPS, ARM Cortex-A, x86, RISC-V.
Суть: Стандартное обновление для любого маршрутизатора, который у вас есть, и базовая ОС для любительских домашних шлюзов.
Как выбрать правильный
- Если вы на малом MCU отправляете коммерческий продукт, Zephyr.
- Если вы на малом MCU и хотите как можно меньше занимаемой памяти, FreeRTOS.
- Если вы пишете датчики маломощной беспроводной ячеистой сети, Contiki-NG.
- Если вы хотите, чтобы RTOS ощущалась как Linux, NuttX.
- Если вы уже глубоко в инструментарии Arm Cortex-M, Mbed OS.
- Если вы цените POSIX и дизайн академического уровня, RIOT.
- Если устройство имеет достаточно оперативной памяти для запуска Linux, OpenWrt.
FAQ
Что такое встроенная операционная система?
ОС, разработанная для конкретного устройства с жесткими ограничениями ресурсов, запускающая одну выделенную микропрограмму вместо установленных пользователем приложений. Ваш термостат, маршрутизатор и умная розетка каждый запускает один.
В чем разница между RTOS и Linux?
RTOS (операционная система реального времени) предлагает гарантии детерминированной синхронизации и работает в килобайтах. Linux предлагает богатые функции и работает в мегабайтах. Выбирайте на основе вашего оборудования и требований к синхронизации.
Какой RTOS поддерживает Matter?
Zephyr имеет первоклассную поддержку Matter и является эталонной реализацией для многих сертификаций Matter. Contiki-NG и OpenThread (используются с FreeRTOS) также поддерживают стек Matter.
Могу ли я использовать FreeRTOS в коммерческих целях?
Да. FreeRTOS лицензирован под MIT. Отправляйте его в коммерческих продуктах без роялти или обязательств атрибуции, кроме текста лицензии.
Что работает на ESP32?
FreeRTOS — это стандартный вариант (ESP-IDF построен на нем). Zephyr, NuttX и RIOT также имеют порты ESP32. Arduino Core для ESP32 обертывает FreeRTOS с Arduino API.