Дата публикации:Sat, 25 Oct 2025 11:28:45 +0300
Опубликован выпуск модульной операционной системы Embox 0.7, нацеленной на обособленный запуск поверх оборудования приложений, изначально созданных для Linux, но без использования Linux. Система способна работать в режиме реального времени (RTOS) на различных классах устройств, от обычных систем x86, до маломощных плат и микроконтроллеров. Код проекта написан на языке Си и распространяется под лицензией BSD.
Ядро Embox разделено на серию библиотек, реализующих различные программные интерфейсы (управление памятью, планировщик задач, сетевой стек и т.п.). Благодаря модульности Embox позволяет использовать для запуска каждого приложения минимальный набор системных компонентов и библиотек, достаточный для запуска конкретного приложения. Для каждого приложения формируется самодостаточный образ, оптимизированный для определённой задачи и способный работать поверх оборудования без лишних прослоек и без применения универсальных ядер и системных окружений.
Подобная компоновка позволяет запускать существующие приложения с минимальными накладными расходами на устройствах с ограниченными ресурсами. Embox также обеспечивает дополнительный уровень защиты - приложения связываются с библиотекам статически и кроме изначально поставляемого приложения в сформированном окружении невозможно выполнить другие программы.
В качестве примеров применения Embox упоминается создание VoIP-телефона на базе микроконтроллера STM32F7 и библиотеки PJSIP, запуск на микроконтроллере STM32F7 графического интерфейса на базе Qt, выполнение на плате STM32F769i приложения для обработки визуальной информации при помощи OpenCV, обособленный запуск SSH-сервера Dropbear, запуск игры Quake3 и графических приложений, использующих Mesa. Основные возможности Embox:
- Поддержка процессорных архитектур x86, ARM, RISC-V, Microblaze, SPARC, E2K, PowerPC и MIPS. Поддержка работы на микроконтроллерах STM32 и возможность запускать на них программы, использующие Qt, OpenCV, PJSIP и другие популярные фреймворки. Поддержка плат, подобных Raspberry Pi. Поддержка создания окружений для запуска приложений на языках C++, Java, Python, Lua, TCL, Lisp, Ruby, JavaScript и Scheme. POSIX-совместимость. Возможность использования файловых систем FAT и ext2/3/4. Стек TCP/IP с поддержкой сокетов и типовых сетевых протоколов (UDP, HTTP, ARP, NTP, ICMP). Доступность Unix-подобных утилит, таких как ls, cat и mount.
- Реализована подсистема для беспроводного доступа. Реализована подсистема для управления через AT-команды. Улучшена поддержка архитектуры RISC-V. Добавлена поддержка платформ Milandr MDR1206FI, Baikal-Electronics Baikal-U и Syntacore SCR-5. Добавлена поддержка MIPS64-процессора KOMDIV-64. Модернизирована сборочная система. Добавлена поддержка платформы машинного обучения TensorFlow Lite. Добавлена поддержка фреймворка Ardupilot с реализацией автопилота. Добавлена поддержка протокола WebSocket. Улучшены подсистемы SPI, I2C и MMC.
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64117
