Перейти к содержанию

Embox

Материал из Википедии — свободной энциклопедии
Embox
Изображение логотипа
Разработчик Embox Ltd., Математико-механический факультет СПбГУ
Написана на C, Assembler
Семейство ОС Операционная система реального времени
Последняя версия 0.7.1 (апрель 2026)
Поддерживаемые платформы ARM, RISC-V, x86, LEON, MicroBlaze, MIPS, PowerPC, E2K
Тип ядра Экзоядро
Лицензия Лицензия BSD
Состояние Активная разработка
Репозиторий исходного кода github.com/embox/embox
Веб-сайт https://embox.github.io
Логотип Викисклада Медиафайлы на Викискладе

Embox (англ. Essential toolbox for embedded development) — свободная кросс-платформенная операционная система реального времени (RTOS), разрабатываемая для встроенных систем.

Архитектурно-зависимые части вынесены в отдельные модули, что упрощает процесс портирования на новые платформы. Основная идея Embox использовать ПО Linux в более безопасном и предсказуемом (real-time), а также менее ресурсо- и энергопотребляющем окружении, включая микроконтроллеры.

Основные принципы

[править | править код]

Одной из основных особенностей исходных кодов системы embox является их максимальная структурированность, позволяющая представить ядро как набор взаимосвязанных модулей, каждому из которых можно задать требуемые параметры. Это дает возможность тонко настроить систему и создать образ, нацеленный на конкретную задачу, будь то средство для тестирования аппаратного обеспечения, либо полноценная операционная система с виртуальной памятью, включающая сетевую и файловую подсистемы. К тому же такой принцип построения упрощает отладку отдельных модулей системы, а также портирование на новые платформы.

Если сравнить с популярной FreeRTOS, то в FreeRTOS нет POSIX-совместимости[1], и абсолютно любое приложение «пишется с нуля», реализуя принцип «разработчик полностью реализует и контролирует всю систему». В Embox же можно портировать существующие библиотеки и фреймворки из POSIX/Linux-мира, что приведет, возможно, к меньшей ресурсоэффективности, чем в случае с FreeRTOS, но сильно сэкономит время разработки и поддержки. Кроме переиспользования кода, полезна также возможность разработки и тестирования макетов на десктопных системах. Так, например, можно переиспользовать как библиотеки для характерной функциональности встраиваемых систем, такие как libmodbus (телеметрия), pjsip (телефон), так и фреймворки свойственные скорее десктопным системам, например, графический интерфейс через Nuklear или Qt, или библиотеки компьютерного зрения, такие как OpenCV.

Поддерживаемые платформы

[править | править код]

На сегодняшний день Embox работает на следующих процессорных архитектурах:

Модель разработки

[править | править код]

Разработка ведётся в тесном сотрудничестве с кафедрой Системного Программирования Математико-Механического факультета СПбГУ. В частности, проект Embox используется для получения студентами практических навыков в различных дисциплинах, таких, как: архитектура операционных систем, встроенные системы, программирование микроконтроллеров и так далее[14][15][16][17]. Кроме технических дисциплин, проект используется как площадка получения опыта студентами в управлении IT-проектами.

Благодаря открытому коду системы, на базе проекта проводятся различные исследования в областях построения ОС и вычислительных систем[18][19][20][21][22].

Embox применяется в различных коммерческих проектах в областях: АСУ, встроенных и телекоммуникационных системах[23].

  • NuttX[англ.] — другая RTOS, ориентированная на перенос linux-приложений на микроконтроллеры.

Примечания

[править | править код]
  1. ↑ Хотя развивается проект FreeRTOS-plus-POSIX Архивная копия от 6 марта 2025 на Wayback Machine, в котором, к 2025 году утверждается, что уже реализовано 20% POSIX-функциональности.
  2. ↑ «Портирование ОС на Aarch64 Архивная копия от 7 декабря 2024 на Wayback Machine»
  3. ↑ «Embox RTOS на Raspberry Pi Архивная копия от 30 ноября 2024 на Wayback Machine»
  4. ↑ Отладка Embox на STM32. Дата обращения: 9 февраля 2025. Архивировано 6 декабря 2024 года.
  5. ↑ «SIP телефон на STM32F7-Discovery Архивная копия от 20 июня 2025 на Wayback Machine»
  6. ↑ «О кэшах в микроконтроллерах ARM Архивная копия от 24 мая 2025 на Wayback Machine»
  7. ↑ «Отечественный процессор от компании ЭЛВИС Архивная копия от 20 июня 2025 на Wayback Machine»
  8. ↑ «Embox отправляется на Vostok Архивная копия от 12 октября 2024 на Wayback Machine»
  9. ↑ «Микрон» и «Эмбокс» протестировали операционную систему реального времени на отладочной плате «MIK32 Амур». Дата обращения: 10 февраля 2025. Архивировано 24 февраля 2025 года.
  10. ↑ «Embox начинает восхождение на Эльбрус Архивная копия от 25 февраля 2025 на Wayback Machine»
  11. ↑ «Восхождение на Эльбрус — Разведка боем. Техническая Часть 1. Регистры, стеки и другие технические детали Архивная копия от 14 марта 2025 на Wayback Machine»
  12. ↑ «Восхождение на Эльбрус — Разведка боем. Техническая Часть 2. Прерывания, исключения, системный таймер Архивная копия от 10 сентября 2024 на Wayback Machine»
  13. ↑ «Embox — открытая ОС на Эльбрусе Архивная копия от 18 декабря 2024 на Wayback Machine»
  14. ↑ «Итоги годовых студпроектов Мат-меха СПбГУ»
  15. ↑ Опыт Embox как менторской организации в программе GSoC2020. Дата обращения: 9 февраля 2025. Архивировано 20 июня 2025 года.
  16. ↑ Embox на GSoC2020. Дата обращения: 9 февраля 2025. Архивировано 29 мая 2025 года.
  17. ↑ «Как с помощью трех открытых проектов написать диплом Архивная копия от 12 марта 2026 на Wayback Machine»
  18. ↑ In the Land of MMUs: Multiarchitecture OS-Agnostic Virtual Memory Forensics. Дата обращения: 9 февраля 2025. Архивировано 30 июля 2025 года.
  19. ↑ An Empirical Study on the Use of Static Analysis Tools in Open Source Embedded Software. Дата обращения: 4 марта 2025. Архивировано 4 марта 2025 года.
  20. ↑ A Zero-Knowledge Approach to Memory Forensics. Дата обращения: 9 февраля 2025. Архивировано 30 октября 2025 года.
  21. ↑ Rust for Embedded Systems: Current State, Challenges and Open Problems. Дата обращения: 4 марта 2025. Архивировано 4 марта 2025 года.
  22. ↑ About embedded again: searching for bugs in the Embox project. Дата обращения: 9 февраля 2025. Архивировано 20 июня 2025 года.
  23. ↑ Как мы строили систему аварийной сигнализации дата-центра

Литература

[править | править код]