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].
См. также
[править | править код]Примечания
[править | править код]- ↑ Хотя развивается проект FreeRTOS-plus-POSIX Архивная копия от 6 марта 2025 на Wayback Machine, в котором, к 2025 году утверждается, что уже реализовано 20% POSIX-функциональности.
- ↑ «Портирование ОС на Aarch64 Архивная копия от 7 декабря 2024 на Wayback Machine»
- ↑ «Embox RTOS на Raspberry Pi Архивная копия от 30 ноября 2024 на Wayback Machine»
- ↑ Отладка Embox на STM32. Дата обращения: 9 февраля 2025. Архивировано 6 декабря 2024 года.
- ↑ «SIP телефон на STM32F7-Discovery Архивная копия от 20 июня 2025 на Wayback Machine»
- ↑ «О кэшах в микроконтроллерах ARM Архивная копия от 24 мая 2025 на Wayback Machine»
- ↑ «Отечественный процессор от компании ЭЛВИС Архивная копия от 20 июня 2025 на Wayback Machine»
- ↑ «Embox отправляется на Vostok Архивная копия от 12 октября 2024 на Wayback Machine»
- ↑ «Микрон» и «Эмбокс» протестировали операционную систему реального времени на отладочной плате «MIK32 Амур». Дата обращения: 10 февраля 2025. Архивировано 24 февраля 2025 года.
- ↑ «Embox начинает восхождение на Эльбрус Архивная копия от 25 февраля 2025 на Wayback Machine»
- ↑ «Восхождение на Эльбрус — Разведка боем. Техническая Часть 1. Регистры, стеки и другие технические детали Архивная копия от 14 марта 2025 на Wayback Machine»
- ↑ «Восхождение на Эльбрус — Разведка боем. Техническая Часть 2. Прерывания, исключения, системный таймер Архивная копия от 10 сентября 2024 на Wayback Machine»
- ↑ «Embox — открытая ОС на Эльбрусе Архивная копия от 18 декабря 2024 на Wayback Machine»
- ↑ «Итоги годовых студпроектов Мат-меха СПбГУ»
- ↑ Опыт Embox как менторской организации в программе GSoC2020. Дата обращения: 9 февраля 2025. Архивировано 20 июня 2025 года.
- ↑ Embox на GSoC2020. Дата обращения: 9 февраля 2025. Архивировано 29 мая 2025 года.
- ↑ «Как с помощью трех открытых проектов написать диплом Архивная копия от 12 марта 2026 на Wayback Machine»
- ↑ In the Land of MMUs: Multiarchitecture OS-Agnostic Virtual Memory Forensics. Дата обращения: 9 февраля 2025. Архивировано 30 июля 2025 года.
- ↑ An Empirical Study on the Use of Static Analysis Tools in Open Source Embedded Software. Дата обращения: 4 марта 2025. Архивировано 4 марта 2025 года.
- ↑ A Zero-Knowledge Approach to Memory Forensics. Дата обращения: 9 февраля 2025. Архивировано 30 октября 2025 года.
- ↑ Rust for Embedded Systems: Current State, Challenges and Open Problems. Дата обращения: 4 марта 2025. Архивировано 4 марта 2025 года.
- ↑ About embedded again: searching for bugs in the Embox project. Дата обращения: 9 февраля 2025. Архивировано 20 июня 2025 года.
- ↑ Как мы строили систему аварийной сигнализации дата-центра
Литература
[править | править код]- Антон Бондарев. Операционная система Embox: решение для встроенных систем // Бит (приложение к журналу «Системный администратор»). — 2015. — № 5 (48).
- Андрей Терехов. Конфигурируемая ОС РВ Embox для встроенных систем // Системный администратор. — 2015. — № 7-8(152—153). — С. 104—105.
- Антон Бондарев, Калмук А.И., Дерюгин Д.Е. Essential toolbox for embedded development // Четырнадцатая конференция разработчиков свободных программ: Тезисы докладов. — Калуга: МАКС Пресс, 2017. — Сентябрь. — С. 26-28. запись и материалы этого доклада с конференции.
- «Организация поддержки 3d-ускорения в ОСРВ на основе проектов с открытым кодом», доклад на конференции OSDAY-2018.
- Бондарев А. В, Калмук А.И., Дерюгин Д.Е. Embox — студенческий проект в области системного программирования // Свободное программное обеспечение в высшей школе : Сборник материалов Тринадцатой конференции. — Переславль: МАКС Пресс, 2018. — Январь. — С. 20-22. — ISBN 978-5-317-05746-6. Запись и материалы этого доклада.
- Бондарев А. В. Embox — ОС РВ позволяющая запускать Linux ПО на микроконтроллерах // Шестнадцатая конференция разработчиков свободных программ: Тезисы докладов. — Калуга: МАКС Пресс, 2019. — Сентябрь. — С. 44-47. — ISBN 978-5-317-06227-9. Запись и материалы этого доклада.
- Бондарев А. В. Операционные системы. Какая она — идеальная ОС для встроенных систем? // Системный администратор. — Москва, 2020. — № 12(217). — С. 16-21..
- Нижарадзе, А. Т. Портирование ОСРВ Embox на открытую архитектуру RISC-V // Современные технологии в теории и практике программирования: сборник материалов конференции. — Санкт-Петербург: ПОЛИТЕХ-ПРЕСС, 2020. — Апрель. — С. 72-73. — ISBN 978-5-7422-6935-9.
- Бондарев А. В. Embox путь от студенческой забавы до проекта с открытым кодом // Свободное программное обеспечение в высшей школе: Сборник тезисов XV конференции. — Переславль: МАКС Пресс, 2020. — Февраль. — С. 46-48. — ISBN 978-5-317-06345-0. Запись и материалы этого доклада.
- Бондарев А. В. Embox — свободная ОСРВ позволяющая запускать сложные C++ приложения на микроконтроллерах // СПО: от обучения до разработки : Объединённая конференция: сборник тезисов конференции. — Переславль-Залесский: МАКС Пресс, 2021. — Июнь. — С. 140—144. — ISBN 978-5-317-06632-1. Запись и материалы этого доклада.
- Ильченко, И. И. Реализация сетевого пространства имен в ОС Embox // Процессы управления и устойчивость. — 2021. — Т. 8, № 1. — С. 274—278.
- Бондарев А. В. Интернет вещей на базе СПО // Объединённая конференция «СПО: от обучения до разработки»: Сборник тезисов конференции. — Переславль-Залесский: МАКС Пресс, 2022. — Май. — С. 144—147. — ISBN 978-5-317-06790-8. Запись и материалы этого доклада.
- Бондарев А. В. СПО в процессах безопасной разработки на примере OC PB Embox // Девятнадцатая конференция разработчиков свободных программ: Тезисы докладов. Сборник материалов конференции. — Переславль-Залесский: МАКС Пресс, 2023. — Сентябрь. — С. 18-24. Запись и материалы этого доклада.
- «Embox — российская ОС для цифровых устройств», доклад на конференции OSDAY-2023.
- «Повышение безопасности конечных систем с помощью специального языка описания модулей. Опыт Embox», доклад на конференции OSDAY-2024.
- Фролов Т.С. Поддержка запуска ОС Embox в Supervisor-режиме RISC-V // 10-я Научная конференция "ЭКБ и микроэлектронные модули". Сборник тезисов. Российский форум "Микроэлектроника". — Техносфера, 2024. — С. 1470—1471.
- Д. Дзендзик. Графическая подсистема операционной системы реального времени Embox для роботов Lego Mindstorms // Список-2011: Материалы второй межвузовской научной конференции по проблемам информатики. — ВВМ, 2011. — С. 36—41.
- А. Бондарев. Обзор операционных систем для построения систем реального времени. Embox — набор для построения встроенных систем // Список-2011: Материалы второй межвузовской научной конференции по проблемам информатики. — ВВМ, 2011. — С. 47—48.
Ссылки
[править | править код]- Официальный сайт
- Страница проекта на Open Hub
- Свободные проекты России 2010 года — embox — Участие в конкурсе linux-format 2010
- Программное обеспечение по алфавиту
- Операционные системы СССР и России
- Единый реестр российского ПО
- Автоматизация
- Операционные системы реального времени
- Встраиваемые операционные системы
- Свободное программное обеспечение, написанное на Си
- Математико-механический факультет Санкт-Петербургского государственного университета