Основные новшества:
- Реализован новый планировщик задач, нацеленный на минимизацию задержек и справедливое распределение ресурсов. Задействование нового планировщика привело к повышению производительности и отзывчивости интерфейса на маломощных платформах, таких как смартфон PinePhone.
- Оптимизирована работа стека для работы с блочными устройствами и механизма установки пакетов.
- Перенесённые из ядра Linux драйверы USB-контроллеров, Wi-Fi, Ethernet-адаптеров и GPU Intel синхронизированы с ядром 6.12 (ранее использоваться драйверы из ядра 6.6).
- Предложен новый формат для конфигурации и отчётов, имеющий читаемый синтаксис и удобный для редактирования и анализа пользователем. Старый формат на основе XML пока продолжает использоваться по умолчанию, а новый доступен в качестве опции (в следующей версии его намерены включить по умолчанию). В механизме обновления системы реализована возможность переключения между старым и новым вариантами конфигурации.
- Улучшена поддержка микроядра seL4 и устранены проблемы с его использованием с динамически загружаемыми драйверами Genode.
- В реализации базового API вместо использования механизма исключений C++ задействована явная обработка ошибок с кодированием ошибок в Σ-типах (sum type). Также добавлены изменения для предотвращения случайной утечки указателей и явного определения владения объектами и времени жизни объектов.
- Обновлены GCC 14.2 и binutils 2.44.
- Реализована возможность запуска Goa SDK (инструментарий для разработки приложений для Genode) в sandbox-окружении.
- Унифицирована интеграция поддерживаемых сетевых стеков - lwIP и TCP/IP стека из ядра Linux.
- Улучшены графические драйверы для GPU Intel и VESA.
Система поставляется с графическим интерфейсом 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=64144
(opennet.ru, основная лента)
