Обновлено 22 августа 2026 года. Характеристики систем сверены с официальными сайтами и документацией разработчиков.
RTOS (операционная система реального времени, ОСРВ) — ядро, которое гарантирует время реакции на событие. Обычная ОС оптимизирует среднюю скорость работы, RTOS держит предсказуемый потолок задержки: задача с высшим приоритетом получает процессор за известное заранее число тактов. Отсюда область применения — управление станком, двигателем, кардиомонитором, тормозной системой.
- Главное свойство RTOS — детерминизм. Ценность в предсказуемости отклика, а средняя пропускная способность у ОС общего назначения выше.
- Системы реального времени делят на жёсткие и мягкие. В жёсткой пропуск срока считается отказом, в мягкой — потерей качества.
- Ядро FreeRTOS умещается в трёх файлах: list.c, queue.c и tasks.c (репозиторий FreeRTOS-Kernel на GitHub). Версия RT-Thread Nano требует 3 КБ ROM и 1,2 КБ RAM (rt-thread.io).
- Открытые ядра различаются лицензиями: FreeRTOS распространяется по MIT, Zephyr и RT-Thread — по Apache 2.0.
- В российской промышленности и атомной отрасли применяют сертифицированные ОСРВ: ядро «Нейтрино» подтвердило уровень полноты безопасности УПБ 3 (SIL 3) по ГОСТ Р МЭК 61508.
Что такое RTOS и чем она отличается от обычной ОС
Операционная система реального времени — ядро, у которого время выполнения ключевых операций ограничено сверху и известно разработчику до запуска. Планировщик Windows или Linux делит процессор между процессами ради общей пропускной способности. Планировщик RTOS решает обратную задачу: отдать процессор самой срочной задаче и уложиться в заранее объявленный срок.
Разница проявляется в разбросе времени отклика. Для настольной ОС нормально, когда реакция на нажатие занимает то 5 мс, то 200 мс: человек этого почти не заметит. Для контроллера впрыска двигателя такой разброс означает пропуск такта работы. Величину разброса называют джиттером, и в системах реального времени борются именно с ним.
Второе отличие — размер. Ядро FreeRTOS собрано из трёх файлов, общих для всех портов: list.c, queue.c и tasks.c — так описывает состав репозитория официальный README проекта на GitHub. Минимальная сборка RT-Thread под названием Nano, по данным rt-thread.io, занимает 3 КБ ROM и 1,2 КБ RAM. Такое ядро помещается в микроконтроллер, где Linux не запустится в принципе.
Третье отличие — способ поставки. RTOS чаще всего работает как библиотека: исходники ядра компилируются вместе с прикладным кодом в одну прошивку. Отдельного «системного диска», процесса установки и пользовательского окружения здесь обычно нет. Приложение и ядро живут в одном адресном пространстве, поэтому переключение задачи стоит десятки тактов вместо тысяч.
Практическое следствие: RTOS берут ради верхней границы задержки. Если верхняя граница задаче безразлична, обычная ОС даст больше вычислений за ту же секунду.
Жёсткое и мягкое реальное время: в чём разница
Реальное время означает срок, к которому результат обязан быть готов. По цене нарушения срока системы делят на два класса.
Жёсткое реальное время (hard real-time). Опоздание равносильно отказу всей системы, даже если вычисление в итоге верное. Подушка безопасности, сработавшая на 100 мс позже удара, бесполезна. Сюда относят управление двигателем, антиблокировочную тормозную систему, защиту реактора, полётный контроллер. Для таких задач разработчик обязан доказать верхнюю границу времени реакции расчётом, а испытания её только подтверждают.
Мягкое реальное время (soft real-time). Опоздание снижает качество услуги и остаётся терпимым. Пропущенный кадр в видеозвонке, подтормаживание аудиопотока, задержка кассового терминала — система продолжает работу. Здесь считают долю уложившихся в срок операций, а редкие выбросы допустимы.
Промежуточный вариант называют устойчивым реальным временем (firm real-time): опоздавший результат теряет ценность полностью, однако система от этого не отказывает. Пример — кадр видеоаналитики, который устарел раньше, чем его обработали.
Разработчики RTOS обозначают класс своей системы прямо. Компания RT-Thread описывает ядро Nano формулировкой «refined hard real-time kernel», то есть заявляет жёсткое реальное время. Компания «СВД Встраиваемые Системы» называет продукт КПДА.00002-01 «встраиваемой ОС жёсткого реального времени для архитектуры Intel x86 (IA-32)».
Выбор класса определяет цену проекта: жёсткое реальное время тянет за собой анализ худшего случая, сертификацию и запас по вычислительной мощности.
Как работает планировщик RTOS

Планировщик — та часть ядра, ради которой RTOS и существует. Он решает, какая задача займёт процессор в следующий момент, и делает это по правилу, известному заранее.
Вытеснение по приоритету. Каждой задаче назначен числовой приоритет. Как только готовой к работе становится задача приоритетнее текущей, ядро прерывает текущую и переключает контекст. Именно поэтому время реакции на срочное событие можно посчитать: оно складывается из задержки обработчика прерывания и времени переключения контекста.
Кооперативный режим. Задача отдаёт процессор сама. Дешевле по накладным расходам и опаснее по последствиям: зациклившаяся задача останавливает систему целиком.
Квантование времени. Задачи одного приоритета делят процессор по очереди. Документация Zephyr описывает это как «Timeslicing: Enables time slicing between preemptible threads of equal priority».
Ближайший срок первым. Алгоритм Earliest Deadline First отдаёт процессор задаче с самым близким дедлайном. Zephyr перечисляет EDF среди штатных алгоритмов планирования наравне с кооперативным и вытесняющим.
Отдельная ловушка проектирования — инверсия приоритетов: низкоприоритетная задача захватила ресурс, который понадобился высокоприоритетной, и та ждёт неопределённо долго. Лечится наследованием приоритета через мьютекс. Документация Zephyr описывает механизм так: ядро «temporarily elevate the thread’s priority if a higher priority thread begins waiting on the mutex», то есть временно поднимает приоритет владельца мьютекса до приоритета ожидающего.
Из этих правил вытекает главный приём проектирования на RTOS: короткие обработчики прерываний, вся тяжёлая работа — в задачах, разделяемые ресурсы — под мьютексом с наследованием приоритета.
Из чего состоит ядро ОСРВ
Набор примитивов у разных ядер почти одинаков, потому что задачи у встраиваемых систем повторяются. Документация Zephyr перечисляет базовые службы: многозадачность, обработку прерываний, выделение памяти, синхронизацию потоков и передачу данных между ними.
- Задача (поток). Функция со своим стеком и приоритетом. Число задач ограничено доступной памятью под стеки.
- Семафор. Счётчик для сигналов и учёта ресурсов. Zephyr различает двоичные и считающие семафоры.
- Мьютекс. Замок на разделяемый ресурс с наследованием приоритета — защита от инверсии приоритетов.
- Очередь сообщений. Основной способ передать данные между задачами без общих переменных. В FreeRTOS очереди вынесены в отдельный файл ядра queue.c.
- Программные таймеры. Отложенный и периодический вызов функции без отдельной задачи под каждый интервал.
- Управление памятью. Ядра дают выделение блоков фиксированного и переменного размера; в жёстких системах предпочитают статические буферы, потому что время работы кучи плохо предсказуемо.
Поверх этого набора вендоры добавляют сетевой стек, файловую систему, драйверы и энергосбережение. У Zephyr в комплекте идут стек TCP/IP, поддержка Bluetooth Low Energy 5.0 и файловые системы ext2, FatFs и LittleFS. У FreeRTOS официальный сайт называет частью поставки потокобезопасный TCP-стек с поддержкой IPv6 и симметричную многопроцессорность (SMP).
Практический вывод для новичка: освоив эти примитивы на одном ядре, вы переносите навык на любое другое — меняются имена функций, а модель остаётся.
Где применяют RTOS: примеры по отраслям
Принципы работы у всех ядер общие, а отрасли различаются ценой опоздания. Примеры типовых применений:
- Автомобиль. Управление двигателем, тормозами, подушками безопасности, блоки помощи водителю. Компания QNX называет свою микроядерную платформу основой для ответственных автомобильных систем.
- Промышленность. Программируемые логические контроллеры, приводы, станки с числовым программным управлением, робототехнические ячейки.
- Медицина. Аппараты искусственной вентиляции лёгких, инфузионные насосы, кардиомониторы.
- Авиация и космос. Бортовые вычислители, системы управления полётом, наземные комплексы.
- Энергетика. Системы контроля и управления, включая объекты атомной отрасли, где действует ГОСТ Р МЭК 60880.
- Потребительская электроника и интернет вещей. Умные датчики, носимые устройства, беспроводные узлы на ESP32 и подобных чипах.
Особенности и преимущества ОСРВ в этих сценариях сводятся к трём пунктам: предсказуемое время реакции, компактное ядро, работающее на дешёвом процессоре, и повторяемое поведение, которое можно доказать испытаниями. За это платят усложнением архитектуры и более дорогой отладкой.
Какие бывают RTOS: сравнение систем 2026 года

Рынок делится на три группы: открытые ядра для микроконтроллеров, коммерческие платформы под сертифицируемые изделия и российские ОСРВ для регулируемых отраслей. В таблице собраны системы, у которых характеристики опубликованы на официальных ресурсах.
| Система | Лицензия | Чем известна | Типовое применение |
|---|---|---|---|
| FreeRTOS | MIT | Поддержка 40+ архитектур процессоров и 15+ наборов инструментов, SMP, LTS-выпуски с обновлениями безопасности в течение двух лет | Микроконтроллеры, IoT-устройства |
| Zephyr | Apache 2.0 | Планирование кооперативное, вытесняющее и по ближайшему сроку (EDF); совместимый с POSIX pthreads API; текущий выпуск v4.4.0 | Датчики, носимые устройства, беспроводные узлы |
| RT-Thread | Apache 2.0 | Версия Nano занимает 3 КБ ROM и 1,2 КБ RAM; POSIX-интерфейс, пакеты компонентов | IoT-устройства, бытовая электроника |
| FreeRTOS в составе ESP-IDF | В составе ESP-IDF | Реализация на базе Vanilla FreeRTOS v10.5.1 с поддержкой SMP максимум для двух ядер | Чипы ESP32 и ESP32-C |
| QNX SDP | Лицензия вендора | Микроядерная платформа, заявленная разработчиком как safety-ready | Автомобильная электроника, ответственные системы |
| ЗОСРВ «Нейтрино» | Лицензия вендора | Ядро сертифицировано на УПБ 3 (SIL 3) по ГОСТ Р МЭК 61508; версия КПДА.00002-01 в реестре ПО Минцифры, запись №16186 от 30.12.2022 | Промышленность, атомная отрасль, транспорт |
Источники строк: freertos.org, docs.zephyrproject.org и zephyrproject.org, rt-thread.io, docs.espressif.com, blackberry.qnx.com, kpda.ru. Данные сняты 22 августа 2026 года.
За пределами таблицы остались системы, которые постоянно встречаются в вакансиях и технической литературе: VxWorks компании Wind River и линейка Micrium (бывшая µC/OS). Публичных характеристик с их официальных страниц на момент подготовки материала снять не удалось, поэтому в сравнение они и не попали. Косвенное подтверждение живости обеих: Arm перечисляет Micrium OS среди ядер с поддержкой интерфейса CMSIS-RTOS2.
Общая логика выбора выглядит так: под микроконтроллер с килобайтами памяти берут FreeRTOS, RT-Thread или Zephyr; под изделие, которое проходит сертификацию по функциональной безопасности, — коммерческую платформу с готовым пакетом доказательств.
Российские ОСРВ и сертификация: чего требует регулятор
Для промышленного заказчика в России характеристики ядра вторичны — сначала спрашивают документы. Именно на этом слое информации обычные обзоры RTOS заканчиваются, поэтому разберём его отдельно.
Опорный пример — ЗОСРВ «Нейтрино» петербургской компании «СВД Встраиваемые Системы». Что подтверждено публикациями разработчика на kpda.ru:
- Функциональная безопасность. В сообщении от 25 сентября 2024 года компания пишет: «Ядро и системная библиотека Нейтрино для микропроцессорных архитектур ARMv7 и x86 сертифицированы на соответствие требованиям функциональной безопасности (ГОСТ Р МЭК 61508-1-2012, ГОСТ IEC 61508-3-2018)». Подтверждена стойкость к систематическим отказам ССО 3, что допускает применение в приложениях с уровнем полноты безопасности УПБ 3 (SIL 3) включительно.
- Атомная отрасль. Отдельно заявлена сертификация ядра по ГОСТ Р МЭК 60880 — это стандарт для программного обеспечения систем, важных для безопасности атомных станций.
- Информационная безопасность. Версия КПДА.00002-01 описана как сертифицированная ФСТЭК России, с контролем отсутствия недекларированных возможностей и соответствием требованиям Минобороны России.
- Реестр отечественного ПО. Та же версия включена в реестр Минцифры, запись №16186 от 30 декабря 2022 года.
Практический смысл этих строк простой. Государственный или окологосударственный заказчик закрывает требование «отечественное ПО из реестра» и требование по функциональной безопасности одним продуктом. Открытое ядро вроде FreeRTOS даёт лицензию MIT и свободу правки исходников, а пакет сертификационных доказательств заказчик собирает и оплачивает сам.
Отсюда правило выбора: сначала выясняют, какие сертификаты обязательны для изделия, и только потом сравнивают ядра по памяти и скорости переключения контекста.
Когда без RTOS можно обойтись
Ядро реального времени добавляет к проекту стеки задач, синхронизацию и новый класс ошибок. Три альтернативы закрывают часть задач дешевле.
Суперцикл. Бесконечный цикл с опросом флагов и короткими обработчиками прерываний. Пока задач немного и сроки измеряются десятками миллисекунд, схема работает и отлаживается проще любой ОС. Границу обычно чувствуют по симптому: появилось больше четырёх независимых процессов с разными периодами — самописный диспетчер начинает повторять планировщик RTOS.
Linux с патчем реального времени. Долгие годы PREEMPT_RT жил отдельной веткой. Хроника релизов ядра KernelNewbies фиксирует итог: «Linux 6.12 was released on Sunday, 17 Nov 2024. Summary: This release includes realtime support (PREEMPT_RT), a feature that has been in the works for 20 years». Для устройства, которому одновременно нужны экран, сеть, база данных и отклик в единицы миллисекунд, современный Linux закрывает мягкое реальное время без отдельной ОСРВ.
Гипервизор и разделение ядер. Приём для многоядерных процессоров: одно ядро отдано RTOS под управление, остальные — Linux под интерфейс и связь. Так строят промышленные контроллеры и автомобильные головные устройства, где обе части нужны в одном корпусе.
Обратная сторона: как только требуется доказать верхнюю границу задержки перед сертифицирующим органом, аргумент «работает же» перестаёт приниматься, и проект возвращается к специализированной ОСРВ с готовым пакетом доказательств.
Как начать работать с RTOS: первый проект на FreeRTOS

Порог входа ниже, чем кажется: ядро подключается к обычному проекту прошивки как набор исходников. Порядок работы такой.
- Выбрать платформу. Для ESP32 отдельный шаг вообще пропускается: документация ESP-IDF сообщает, что FreeRTOS интегрирована в SDK как компонент и все приложения ESP-IDF написаны на её основе.
- Взять исходники ядра. Дистрибутив ядра и порты под конкретные архитектуры лежат на официальном сайте проекта и в репозитории FreeRTOS-Kernel; выбирается порт под свой процессор и компилятор.
- Задать конфигурацию. Файл FreeRTOSConfig.h задаёт частоту системного тика, число уровней приоритета, модель работы с кучей и включение отдельных возможностей ядра.
- Описать задачи. Каждая задача — обычная функция с бесконечным циклом, зарегистрированная вызовом xTaskCreate с указанием размера стека и приоритета.
- Запустить планировщик. Вызов vTaskStartScheduler передаёт управление ядру, и дальше порядок выполнения определяют приоритеты и события.
- Связать задачи. Обмен данными — через очередь (xQueueSend и xQueueReceive), сигнал от прерывания к задаче — через семафор или уведомление задачи.
void vSensorTask(void *pv) {
for (;;) {
int value = read_sensor();
xQueueSend(xDataQueue, &value, 0);
vTaskDelay(pdMS_TO_TICKS(10));
}
}
xTaskCreate(vSensorTask, "sensor", 2048, NULL, 5, NULL);
vTaskStartScheduler();
Чтобы код пережил смену ядра, поверх RTOS кладут переносимый интерфейс. Стандарт CMSIS-RTOS2 от Arm описан как «generic RTOS interface over real-time OS kernels running on Arm Cortex processor-based devices», и его поддерживают Keil RTX5, FreeRTOS в варианте CMSIS-FreeRTOS, Zephyr и embOS. Прикладной код, написанный на этом API, переносится между ядрами почти без правок.
Типичная ошибка первого проекта — стек задачи, выбранный наугад. Переполнение стека проявляется случайными перезагрузками, поэтому в отладочной сборке включают контроль стека и следят за запасом свободного места.
Частые вопросы про RTOS
Что такое RTOS простыми словами
RTOS — это компактная операционная система, которая обещает выполнить срочную работу за известное время. Она распределяет процессор между задачами по приоритетам и гарантирует, что самая важная задача получит управление в предсказуемый срок. Такое ядро ставят в микроконтроллеры и промышленные контроллеры, где опоздание равносильно поломке.
Чем RTOS отличается от Windows и Linux
Обычная ОС оптимизирует среднюю производительность и допускает разброс времени отклика от единиц до сотен миллисекунд. RTOS оптимизирует худший случай: у неё ограничено сверху время реакции на прерывание и время переключения задачи. Вторая разница — размер: ядро RTOS помещается в килобайты памяти, где Linux запустить невозможно.
Какую RTOS выбрать новичку
Для первого проекта берут FreeRTOS: ядро распространяется по лицензии MIT, поддерживает свыше 40 архитектур процессоров и уже встроено в ESP-IDF для чипов ESP32. Альтернативы того же уровня — Zephyr под лицензией Apache 2.0 с большим набором готовых драйверов и RT-Thread с версией Nano на 3 КБ ROM.
Сколько памяти требует ОСРВ
Порядок величин задают сами разработчики. Компания RT-Thread указывает для версии Nano 3 КБ ROM и 1,2 КБ RAM. Ядро FreeRTOS собрано из трёх исходных файлов — list.c, queue.c и tasks.c. Основной расход памяти в реальном проекте приходится на стеки задач, поэтому их размер подбирают замером свободного места.
Нужна ли сертифицированная ОСРВ в российском проекте
Это зависит от заказчика и отрасли. Для государственных и промышленных проектов важны реестр отечественного ПО и сертификаты: ЗОСРВ «Нейтрино» подтвердила уровень УПБ 3 (SIL 3) по ГОСТ Р МЭК 61508, а версия КПДА.00002-01 включена в реестр Минцифры под записью №16186. Для коммерческого устройства без регуляторных требований открытого ядра достаточно.
Что означают жёсткое и мягкое реальное время
В жёстком реальном времени нарушение срока считается отказом системы: результат после дедлайна бесполезен и опасен. В мягком реальном времени опоздание снижает качество и остаётся допустимым, как пропущенный кадр видеозвонка. Класс определяет требования к анализу худшего случая и запас по производительности.
