Embox (англ. Essential toolbox for embedded development) — свободная кросс-платформенная операционная система реального времени (RTOS), разрабатываемая для встроенных систем.
Архитектурно-зависимые части вынесены в отдельные модули, что упрощает процесс портирования на новые платформы. Основная идея Embox использовать ПО Linux в более безопасном, более предсказуемом (real-time) и менее ресурсо и энергопотребляющем окружении, включая микроконтроллеры.
Основные принципы
Одной из основных особенностей исходных кодов системы embox является их максимальная структурированность, позволяющая представить ядро как набор взаимосвязанных модулей, каждому из которых можно задать требуемые параметры. Это дает возможность тонко настроить систему и создать образ, нацеленный на конкретную задачу, будь то средство для тестирования аппаратного обеспечения, либо полноценная операционная система с виртуальной памятью, включающая сетевую и файловую подсистемы. К тому же такой принцип построения упрощает отладку отдельных модулей системы, а также портирование на новые платформы.
Поддерживаемые платформы
На сегодняшний день Embox работает на следующих процессорных архитектурах:
Модель разработки
Разработка ведётся в тесном сотрудничестве с кафедрой Системного Программирования Математико-Механического факультета СПбГУ. В частности, проект Embox используется для получения студентами практических навыков в различных дисциплинах, таких, как: архитектура операционных систем, встроенные системы, программирование микроконтроллеров и так далее. Кроме технических дисциплин, проект используется как площадка получения опыта студентами в управлении IT-проектами.
Кроме обучения, на базе проекта проводятся различные исследования в областях построения ОС и вычислительных систем. Данные наработки с успехом применяются в различных коммерческих проектах в областях: АСУ, встроенных и телекоммуникационных систем.
См. также
- NuttX[англ.] — другая RTOS, ориентированная на перенос linux-приложений на микроконтроллеры.
Литература
Ссылки