WrmOS

Содержание
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 состоит из следующих разделов:

  1. Система сборки
  2. Конфигурирование
  3. Загрузчик
  4. Ядро
  5. Корневой-пэйджер Sigma0
  6. Корневое-приложение Alpha
  7. WrmOS API

4. Загрузки [наверх]


Исходники WrmOS могут быть загружены из github.

git clone https://github.com/wrmlab/wrmos.git

Так же могут быть загружены в виде zip архива.

5. Лицензирование [наверх]


WrmOS и все его части распространяются под лицензией MIT.

Краткая и простая разрешительная лицензия с условиями, требующими сохранения авторских прав и лицензионных уведомлений.

Для распространения WrmOS под другой лицензией, пожалуйста, напишите мне сообщение в форме обратной связи.

6. Статьи [наверх]


  1. Как получить тулчейны
  2. Простейший проект Hello World