Встроенные и IoT операционные системы

Недавнее исследование XDA насчитало семь операционных систем, тихо работающих внутри среднего дома, от микропрограммы термостата до маршрутизатора и контроллера умной розетки — автор статьи имел в виду то, что большинство разработчиков упускают из виду. ОС на ноутбуках и телефонах получают все прессу; те, что работают со всем остальным в доме, получают почти никакой. Если вы разрабатываете устройство для умного дома, проект ESP32 или хобби-маршрутизатор, семь встроенных и IoT операционных систем для рабочих станций ниже охватывают почти каждую реальную рабочую нагрузку. Все инструменты разработки работают на Windows и Linux; целевое устройство — это любой кремний, который вы прошиваете.

На что обратить внимание при выборе встроенной ОС

Вопросы оценки, на которые стоит ответить перед выбором RTOS:

Быстрое сравнение

ОС Лучше всего для Ядро Лицензия Минимум 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). Ядро минималистично; вы собираете остальное.

Цены:

Платформы: ARM Cortex-M/-A/-R, ARM7/9, Xtensa, RISC-V, MSP430, AVR и десятки других.

Загрузка: FreeRTOS | GitHub

Суть: Безопасный выбор по умолчанию для любого проекта bare-metal-plus-scheduling на малом MCU.

2. Zephyr Project, современный выбор IoT

Zephyr — это ответ Linux Foundation на фрагментированное пространство RTOS. Модульный, активно разрабатываемый, с первоклассной поддержкой Matter, Thread и BLE из коробки. Шаблон наложения дерева устройств делает перенос одной микропрограммы на пять плат упражнением с конфигурационным файлом, а не переписыванием.

Где это не срабатывает: Кривая обучения круче, чем FreeRTOS. West (мета-инструмент Zephyr) имеет свою эргономику, которую вам нужно усвоить.

Цены:

Платформы: ARM Cortex-M/-A/-R, Xtensa, RISC-V, x86, ARC.

Загрузка: Zephyr | GitHub

Суть: Правильный выбор, если вы отправляете современный IoT продукт в 2026 году, особенно с поддержкой Matter.

3. Contiki-NG, специалист по маломощной беспроводной

Contiki-NG — это форк классического Contiki с современным фокусом на беспроводное. IPv6, 6LoWPAN, RPL и CoAP встроены. Если ваш проект — это маломощная ячеистая сеть (LoRa, 802.15.4), стек сетевых протоколов Contiki-NG действительно лучше, чем любой другой RTOS здесь.

Где это не срабатывает: Меньшее сообщество разработчиков, чем Zephyr или FreeRTOS. Меньше коммерческих инструментов поставщиков.

Цены:

Платформы: TI CC26xx, nRF52, собственный (для моделирования).

Загрузка: GitHub

Суть: Лучший выбор для датчиков маломощной ячеистой сети. В противном случае Zephyr.

4. RIOT OS, выбор академиков, ставший практическим

RIOT начиналась как исследовательский проект в Берлине и превратилась в реальный рабочий RTOS. Очень компактный размер (ядро помещается в 5 КБ), IPv6/6LoWPAN по умолчанию, и API ближе к стандартному POSIX, чем у большинства RTOS здесь. Популярен в университетах, все чаще встречается в коммерческом IoT.

Где это не срабатывает: Лицензия LGPL v2.1 имеет значение для закрытых коммерческих продуктов. Прочитайте условия перед отправкой.

Цены:

Платформы: ARM Cortex-M, MSP430, AVR, x86, RISC-V, ESP32.

Загрузка: RIOT OS | GitHub

Суть: Твердый выбор для хобби и открытого исходного кода IoT. Проверьте последствия LGPL для коммерческого микрокода.

5. Mbed OS, вариант с привкусом Arm

Mbed OS — официальный RTOS Arm. Лучшая в своем классе поддержка кремния Cortex-M, прямая интеграция с Arm Keil MDK и Arm Compiler, и огромная библиотека драйверов, поддерживаемых поставщиками. Arm замедлил активную разработку в 2024 году, поэтому темп замедлился, но отправленная кодовая база надежна.

Где это не срабатывает: Темп разработки замедлился. Не будущезащищен для новых семейств кремния вне Arm.

Цены:

Платформы: 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.

Цены:

Платформы: 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 КБ.

Цены:

Платформы: MIPS, ARM Cortex-A, x86, RISC-V.

Загрузка: OpenWrt | GitHub

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

Как выбрать правильный

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.