Конфигурируемая ОС РВ Embox для встроенных систем

advertisement
Конфигурируемая
ОС РВ Embox
для встроенных систем
заведующий кафедрой системного программирования СПбГУ
генеральный директор ЗАО «Ланит-Терком»
доктор физ-мат наук, профессор А.Н.Терехов
аспирант кафедры системного программирования СПбГУ
А.П.Козлов
Описание платформы
Операционная система,
конфигурируемая под конкретный набор
пользовательских приложений,
выполняющих строго заданную бизнесзадачу
Характеристики
●
●
●
●
●
Повышенная безопасность
Низкие требования к аппаратуре
Привычные средства разработки
Широкий набор библиотек и приложений
Простой процесс сертификации
Защита данных и каналов связи
Классические средства защиты:
● Дискретное разграничение доступа
● Мандатное разграничение доступа
● Шифрование
● Firewall
Защита от вредоносного кода
● Естественная защита на уровне
архитектуры системы
● Невозможность внедрить/выполнить
произвольный код
Архитектурные особенности
● Собственная системы сборки
● Высокая конфигурируемость
● Статическая сборка образа
Система сборки
● Собственный язык (DSL)
● Позволяет задавать дополнительную
информацию о системе
● Статический анализ допустимости
параметров конечного образа системы
Высокая конфигурируемость
● Возможность легко переключать
параметры системы
Алгоритмы планировщика
o Менеджера памяти
o Параметров сетевого стека и файловой системы
o ...
o
● Отсутствие избыточности кода
Статическая сборка образа
● Отсутствие неиспользуемой
функциональности
● Отсутствие лишних приложений
● Невозможность загрузить произвольное
приложение
● Простая отладка
● Легкая сертификация
Процесс сборки
●
●
●
●
Язык описания модулей
Параметры системы
Разрешение зависимостей
Сборка образа
Процесс сборки.
Язык описания модулей
● Отделяет логику работы модуля от его
описания
● Задает информацию о модуле
o
o
o
Параметры
Ограничения
Зависимости
● Задает дополнительные правила для
сборки
Процесс сборки.
Параметры системы
● Возможность задать необходимый набор
модулей
● Возможность указать необходимые
параметры каждого модуля
● Возможность установить порядок загрузки
модулей
Процесс сборки.
Разрешение зависимостей
● Подключение необходимых
дополнительных модулей
● Проверка допустимости заданных
параметров
● Проверка взаимоисключающих модулей
● Генерация дополнительных файлов с
параметрами и правилами сборки
Процесс сборки.
Сборка образа
● Сборка всех модулей по заданным
правилам
● Генерация скриптов для линковки по
заданной карте памяти
● Генерация скриптов для линковки
служебных секций
● Окончательная сборка и линковка
Разработка
● Стандартный набор разработчика
o
o
o
кросс - компилятор: gcc
IDE: Eclipse CDT
отладчик: gdb
● Эмулятор под все архитектуры на основе
QEMU
● Возможность запуска в режиме
пользовательского процесса Linux
Широкий набор библиотек
● POSIX-совместимость
o
pthread, socket, ...
● Перенесены следующие фреймворки
o
Qt, QPid, ZeroMQ, Boost, ...
● Набор сетевых сервисов и утилит
o
ssh, http, ftp, nfs, cifs, ...
● Поддержка файловых систем
o
FAT, ext2/3/4, jffs2, ...
Профилирование и отладка
● Возможность пошаговой отладки
● Встроенные сэмплирующий и
инструментальный профилировщики
● Возможность подключить анализатор
используемой памяти valgrind
Сертификация
● Статическая информация о модулях,
полученная на этапе сборки
● Встроенный инструмент для покрытия
кода в runtime
● Возможности использования
профилировщиков
● Фреймворки для разработки модульных и
интеграционных тестов
Низкие требования к аппаратуре
● Поддержка различных архитектур
o
x86, ARM, MIPS, PPC, SPARC, Microblaze
● 16КБ ПЗУ и 4КБ ОЗУ *
● Выполнение кода напрямую из ПЗУ (XiP)
● Работа без поддержки MMU
* Платформа EMF32 Zero-Geko
Контакты
Essential toolbox for embedded development
Embox Project Homepage
● http://code.google.com/p/embox/
А.Н.Терехов
● A.Terekhov@spbu.ru
Anton Kozlov
● drakon.mega@gmail.com
Download