Основные новшества:
- По молчанию задействовано собственное микроядро, развиваемое проектом Genode, что позволило избавиться от проблем, возникавших при планировании задач и управлении памятью ядра. Проведены оптимизации производительности микроядра на ПК. Для снижения нагрузки в режиме простоя переделаны механизмы работы с таймером и обработки таймаутов.
- Завершён переход с файлов конфигурации в формате XML на собственный формат HID (Human-Inclined Data), представляющий данные в форме иерархии узлов, имеющих свои атрибуты. Поддержка старого XML-формата прекращена.
- Перенесённые из ядра Linux драйверы для USB-контроллеров, Wi-Fi, Ethernet-адаптеров и GPU синхронизированы с ядром 6.18 (ранее использовались драйверы из ядра 6.12).
- Встроенный драйвер для хост-контроллеров USB преобразован в подключаемый компонент, который можно удалять и перезапускать без нарушения работы USB-клиентов. Например, в случае сбоя в драйвере его можно перезапустить, при появлении обновления установить новую версию без перезагрузки ОС, а при необходимости снизить энергопотребление выгрузить драйвер.
- Для выполнения виртуальных машин задействована система виртуализации VirtualBox 7.2 вместо ранее применявшейся ветки 6.x.
- В гипервизор Seoul добавлена поддержка функции обмена файлами между хост-системой и гостевой ОС.
- Расширены возможности запуска Goa SDK в основном окружении, что позволяет без применения виртуализации разрабатывать, компилировать и тестировать компоненты Genode. Для работы в основной системе портированы GCC, Binutils, Git, Sequoia, Expect, Curl, man, Make и CMake.
- В интерфейсе пользователя реализована поддержка масштабирования и изменения внешнего вида курсора мыши.
- Проведена переработка C runtime и кода VFS. Добавлена поддержка перенастройки и реструктуризации виртуальных файловых систем на лету.
Система поставляется с графическим интерфейсом Leitzentrale, позволяющим выполнять типовые задачи по администрированию системы. В левом верхнем углу графического интерфейса отображается меню с инструментами для управления пользователями, подключения накопителей и настройки сетевого соединения. В центре присутствует конфигуратор для определения начинки системы в виде графа, показывающего взаимосвязь между системными компонентами. В интерактивном режиме можно удалять или добавлять компоненты, формируя состав системного окружения или виртуальных машин.
При желании пользователь может переключиться в консольный режим управления, предоставляющий большую гибкость в управлении. Традиционный рабочий стол может быть получен через запуск дистрибутива TinyCore Linux в виртуальной машине с Linux. В данном окружении доступны браузеры Firefox и Aurora, текстовый редактор на базе Qt и различные приложения. Для запуска утилит командной строки предлагается окружение "Noux".
Фреймворк Genode предоставляет унифицированную инфраструктуру для создания пользовательских приложений, работающих поверх ядра Linux (32 и 64 бит) или микроядер NOVA (x86 с виртуализацией), seL4 (x86_32, x86_64, ARM), Muen (x86_64), Fiasco.OC (x86_32, x86_64, ARM), L4ka::Pistachio (IA32, PowerPC), OKL4, L4/Fiasco (IA32, AMD64, ARM). В состав входит паравиртуализированное Linux-ядро L4Linux, работающее поверх микроядра Fiasco.OC, позволяющее выполнять в окружении Genode обычные Linux-программы. Ядро L4Linux не работает с оборудованием напрямую, а использует сервисы Genode через набор виртуальных драйверов.
Для Genode портированы различные компоненты Linux и BSD, обеспечена поддержка Gallium3D, выполнена интеграция Qt, GCC и WebKit, реализована возможность создания гибридных Linux/Genode программных окружений. Имеется порт VirtualBox, работающий поверх микроядра NOVA. Многие приложения адаптированы для запуска напрямую поверх микроядра и окружения Noux, обеспечивающего виртуализацию на уровне ОС. Для запуска не портированных программ предлагается система виртуальных окружений, работающая на уровне отдельных приложений и позволяющая запускать программы в виртуальном Linux-окружении с использованием паравиртуализации.
Источник: https://www.opennet.ru/opennews/art.shtml?num=66581
(opennet.ru, основная лента)
