Содержание 1. Описание 2. Свойства 3. Документация 4. Загрузки 5. Лицензирование 6. Статьи
1. Описание [наверх]
WrmOS — операционная система реального времени (RTOS) с открытым исходным кодом, основанная на микроядре L4. ОС имеет собственную реализацию микроядра, стандартных библиотек и сетевого стэка. Поддержаны следующие процессорные архитектуры — SPARC, ARM, x86, x86_64.
ОС состоит из следующих компонентов:
Система сборки | основанная на make система сборки |
Загрузчик | инициализирует HW, распаковывает файловую (RAMFS) систему и передаёт управление ядру |
Файловая система (RAMFS) | бинарный образ файловой системы, содержащей ядро, конфигурационный файл и приложения |
Ядро | основанное на принципах L4 микроядро |
Системное ПО | корневой-пэйджер (sigma0), корневое-приложение (alpha) |
Пользовательские приложения | драйверы, сетевой стэк и т.д. |
2. Свойства [наверх]
Архитектуро-зависимые свойства ОС и их реализация показаны в таблице ниже.
SPARC | ARM | x86 | x86_64 | MIPS | PPC32 | |
---|---|---|---|---|---|---|
loader | + | + | + | + | - | - |
kernel | + | + | + | + | - | - |
support FPU | + | - | - | - | - | - |
support SMP | - | - | - | - | - | - |
system software | + | + | + | + | - | - |
wrmos API | + | + | + | + | - | - |
QEMU execution | leon3_generic | vexpress-a9 xilinx-zynq-a9 |
+ | + | - | - |
HW execution | leon3 | xilinx-zynq-zc706 | - | - | - | - |
w4linux | + | - | - | - | - | - |
Наибольший акцент в разработке был сделан на архитектуру SPARC и процессор Gaisler LEON3. Существует проект управления бульдозером (machine control) основанный на WrmOS, который показал хорошую надёжность и производительность ОС. Архитектуры ARM и x86 поддержаны, но не в полной мере. Поддержка MIPS и PPC32 ожидаются в будущем. Основной целью на данный момент является архитектура ARM и поддержка SMP.
Другие свойства перечислены в таблице ниже.
Маленькое и быстрое микроядро | Основанное на L4 микроядро очень маленькое и предоставляет пользователю простой интерфейс (L4 API). Это позволяет контролировать базовые ресурсы системы — процессоры и память. |
Простой API | WrmOS API покрывает L4 API и предоставляет простой C API. Это позволяет контролировать ресурсы ОС — трэды, приложения, мьютексы, семафоры, прерывания, устройства. |
Real-time | Ядро WrmOS предоставляет основанный на приоритетах планировщик. Это позволяет создавать проекты жёсткого реального времени и контролировать ресурсы CPU просто и предсказуемо. |
Спроектирована для встраиваемых систем | WrmOS имеет маленькие накладные расходы на CPU и память. Это позволяет использовать ОС для слабого аппаратного обеспечения или для высоконагруженных проектов. |
w4linux — обеспечение реального времени и гибкости | Существует проект w4linux, который запускает паравиртуализированный Linux в качестве приложения на WrmOS. Это позволяет объединить real-time часть проекта (например Machine Control) и всё богатство програмного обеспечения, которое предоставляет Linux (например драйверы, вэб-сервисы, телекоммуникационные протоколы). |
3. Документация [наверх]
Основным документом для микроядра L4 является L4 Kernel Reference Manual Version X.2. Он описывает API и ABI ядра, а так же принципы устройства операционных систем семейства L4.
Документация WrmOS состоит из следующих разделов:
- Система сборки
- Конфигурирование
- Загрузчик
- Ядро
- Корневой-пэйджер Sigma0
- Корневое-приложение Alpha
- WrmOS API
4. Загрузки [наверх]
Исходники WrmOS могут быть загружены из github.
git clone https://github.com/wrmlab/wrmos.git
Так же могут быть загружены в виде zip архива.
5. Лицензирование [наверх]
WrmOS и все его части распространяются под лицензией MIT.
Краткая и простая разрешительная лицензия с условиями, требующими сохранения авторских прав и лицензионных уведомлений.
Для распространения WrmOS под другой лицензией, пожалуйста, напишите мне сообщение в форме обратной связи.