Содержание 1. Описание 2. Свойства 3. Документация 4. Загрузки 5. Лицензирование 6. Статьи
1. Описание [наверх]
w4linux — паравиртуализированное ядро Linux, работающее в WrmOS в качестве приложения. WrmOS работает в качестве гипервизора. Сборка ядра Linux и пользовательского окружения основана на проекте buildroot.
w4linux выглядит как обычное WrmOS приложение. Интересным свойством w4linux является существование нескольких адресных пространств (task'ов) в рамках этого приложения. Это необходимо чтобы позволить linux-приложениям выполняться в отдельных адресных пространствах.
Проект w4linux состоит из следующих компонентов:
Система сборки | Основанная на make система сборки для WrmOS-части проекта и основанная на buildroot система сборки для Linux-части проекта. |
WrmOS | Ядро WrmOS и системные приложения (Sigma0 и Alpha). |
WrmOS сервисы | Uart — драйвер UART в виде приложения WrmOS. Console — мультиплексор консоли, ловит вывод от приложений и шлёт его в драйвер Uart. |
Init RAM FS | Стартовая файловая система. Она собирается посредством buildroot и линкуется вместе с ядром Linux. |
Ядро Linux | Паравиртуализированное ядро Linux. Оно собирается посредством buildroot и содержит Init RAM FS внутри себя. Только ядро Linux подверглось паравиртуализации. |
Приложения Linux | Нативные приложения Linux. Они собираются посредством buildroot (busybox). |
Програмные компоненты изображены на следующей схеме:
уровень linux приложений: /bin/init /bin/bash ... ---------------------------------------------------------------- ↓↑ ------ уровень wrmos приложений: Sigma0 Alpha Uart Console Linux -------------------------------------------------------------------------- уровень ядра wrmos: WRMOS KERNEL -------------------------------------------------------------------------- уровень HW: CPU MMU UART TIMER
2. Свойства [наверх]
Архитектуро-зависимые свойства w4linux и их реализация показаны в таблице ниже.
SPARC | ARM | x86 | x86_64 | MIPS | PPC32 | |
---|---|---|---|---|---|---|
QEMU execution | leon3_generic | - | - | - | - | - |
HW execution | leon3 | - | - | - | - | - |
Разработка осуществлялась для архитектуры SPARC и процессора Gaisler LEON3. Существует проект управления бульдозером (machine control) основанный на WrmOS, который показал хорошую надёжность и производительность ОС. Поддержка архитектур ARM, x86, x86_64, MIPS и PPC32 ожидаются в будущем.
Другие свойства перечислены в таблице ниже.
Полнофункциональное ядро Linux | Паравиртуализация коснулась только архитектуро-зависимую часть Linux'а. Общая часть Linux'а осталась в оригинальном состоянии. Это позволяет использовать все свойства ядра Linux. |
Оригинальное пользовательское окружение |
В пространстве пользователя используются оригинальные библиотеки и приложения. Они собираются посредством buildroot (busybox). |
Обеспечение реального времени и гибкости | w4linux позволяет объединить real-time часть проекта (например Machine Control) и всё богатство програмного обеспечения, которое предоставляет Linux (например драйверы, вэб-сервисы, телекоммуникационные протоколы). |
3. Документация [наверх]
Сторонняя документация
- Документация ядра Linux
- Документация проекта Buildroot
- Документация проекта Busybox
- Документация WrmOS
Документация w4linux
Документация w4linux состоит из следующих разделов:
4. Загрузки [наверх]
Исходники w4linux могут быть загружены из github.
git clone https://github.com/wrmlab/w4linux.git
Так же могут быть загружены в виде zip архива.
5. Лицензирование [наверх]
w4linux распространяется под лицензией MIT.
Краткая и простая разрешительная лицензия с условиями, требующими сохранения авторских прав и лицензионных уведомлений.
Будьте осторожны со сторонними лицензиями — Linux, Buildroot, Busybox и другие.
Для распространения w4linux под другой лицензией, пожалуйста, напишите мне сообщение в форме обратной связи.