Embox (англ. Essential toolbox for embedded development) — свободная кросс-платформенная операционная система реального времени (RTOS), разрабатываемая для встроенных систем.
Архитектурно-зависимые части вынесены в отдельные модули, что упрощает процесс портирования на новые платформы. Основная идея Embox использовать ПО Linux в более безопасном, более предсказуемом (real-time) и менее ресурсо и энергопотребляющем окружении, включая микроконтроллеры.
Основные принципы
Одной из основных особенностей исходных кодов системы embox является их максимальная структурированность, позволяющая представить ядро как набор взаимосвязанных модулей, каждому из которых можно задать требуемые параметры. Это дает возможность тонко настроить систему и создать образ, нацеленный на конкретную задачу, будь то средство для тестирования аппаратного обеспечения, либо полноценная операционная система с виртуальной памятью, включающая сетевую и файловую подсистемы. К тому же такой принцип построения упрощает отладку отдельных модулей системы, а также портирование на новые платформы.
Поддерживаемые платформы
На сегодняшний день Embox работает на следующих процессорных архитектурах:
Модель разработки
Разработка ведётся в тесном сотрудничестве с кафедрой Системного Программирования Математико-Механического факультета СПбГУ. В частности, проект Embox используется для получения студентами практических навыков в различных дисциплинах, таких, как: архитектура операционных систем, встроенные системы, программирование микроконтроллеров и так далее[13][14][15][16]. Кроме технических дисциплин, проект используется как площадка получения опыта студентами в управлении IT-проектами.
Благодаря открытому коду системы, на базе проекта проводятся различные исследования в областях построения ОС и вычислительных систем[17][18][19][20][21].
Embox применяется в различных коммерческих проектах в областях: АСУ, встроенных и телекоммуникационных системах[22].
См. также
Литература
- Антон Бондарев. Операционная система 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 — свободная ОСРВ позволяющая запускать сложные С++ приложения на микроконтроллерах // СПО: от обучения до разработки : Объединённая конференция: сборник тезисов конференции. — Переславль-Залесский: МАКС Пресс, 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.
Ссылки
- Официальный сайт
- Страница проекта на Open Hub
- Свободные проекты России 2010 года — embox — Участие в конкурсе linux-format 2010
Примечания
- ↑ «Портирование ОС на Aarch64»
- ↑ «Embox RTOS на Raspberry Pi»
- ↑ Отладка Embox на STM32
- ↑ «SIP телефон на STM32F7-Discovery»
- ↑ «О кэшах в микроконтроллерах ARM»
- ↑ «Отечественный процессор от компании ЭЛВИС»
- ↑ «Embox отправляется на Vostok»
- ↑ «Микрон» и «Эмбокс» протестировали операционную систему реального времени на отладочной плате «MIK32 Амур»
- ↑ «Embox начинает восхождение на Эльбрус»
- ↑ «Восхождение на Эльбрус — Разведка боем. Техническая Часть 1. Регистры, стеки и другие технические детали»
- ↑ «Восхождение на Эльбрус — Разведка боем. Техническая Часть 2. Прерывания, исключения, системный таймер»
- ↑ «Embox — открытая ОС на Эльбрусе»
- ↑ «Итоги годовых студпроектов Мат-меха СПбГУ»
- ↑ Опыт Embox как менторской организации в программе GSoC2020
- ↑ Embox на GSoC2020
- ↑ «Как с помощью трех открытых проектов написать диплом»
- ↑ In the Land of MMUs: Multiarchitecture OS-Agnostic Virtual Memory Forensics
- ↑ An Empirical Study on the Use of Static Analysis Tools in Open Source Embedded Software
- ↑ A Zero-Knowledge Approach to Memory Forensics
- ↑ Rust for Embedded Systems: Current State, Challenges and Open Problems
- ↑ About embedded again: searching for bugs in the Embox project
- ↑ Как мы строили систему аварийной сигнализации дата-центра