Технологии, наука и безопасность своими словами

Технологии

Ядро Asterinas 0.19 на Rust освоило графику и самосборку, обходя unsafe-код

Релиз Asterinas 0.19 закрепил архитектурные улучшения и расширил пригодность ядра для реальных сценариев. Версия впервые получила подсистему DRM, драйвер modesetting и интерфейс KMS, что позволило запускать X.Org Server и Mesa напрямую, без прослойки фреймбуфера fbdev. Это резко повышает графическую производительность в гостевых окружениях.

Одновременно статус основной архитектуры наравне с x86-64 получила ARM64 (AArch64). Для неё реализован второй уровень поддержки: базовая функциональность проходит непрерывное тестирование на CI и частично покрыта тестами. Это открывает путь к использованию Asterinas на серверах с ARM-процессорами.

Архитектура ядра по-прежнему строится вокруг концепции framekernel — гибрида микроядерной изоляции и монолитной производительности. Весь код на Rust разделён на две части: OS Framework, где сосредоточены низкоуровневые unsafe-блоки, и OS Services, полностью свободная от unsafe. Драйверы, файловые системы и все 240 с лишним системных вызовов Linux реализованы именно в безопасном слое.

Инструментарий разработчика пополнился компонентом aster-device — набором аналоговых примитивов ядра Linux для драйверов на Rust, не содержащих unsafe-кода. Модель разработки драйверов официально поддержана, что должно упростить создание модулей сторонними участниками. Важная веха — среда Asterinas достигла состояния «собственной пересборки» (self-hosting).

Из окружения NixOS с самим ядром Asterinas теперь можно собрать новое ядро Asterinas, что подтверждает зрелость платформы. Напомним, проект развивается с 2022 года под лицензией MPL и уже проверен на более чем ста пакетах NixOS, включая Firefox, systemd, Podman, QEMU, языковые среды и библиотеки машинного обучения вроде PyTorch и TensorFlow. Безопасность остаётся главной задачей.

Ограничение unsafe-кода и вынос всех потенциально опасных операций в компактный фреймворк снижают риск уязвимостей памяти — основного источника критических ошибок в ядрах. Asterinas ориентирована на защищённые виртуальные машины (AMD SEV, Intel TDX, ARM CCA) и на хост-системы контейнеризации. Разработчики активно адаптируют ядро для запуска в VM-контейнерах Kata Containers и Confidential Containers.

В новой версии ускорена загрузка гостевых систем с шифрованием памяти Intel TDX, добавлена поддержка протокола direct-boot для QEMU, Cloud Hypervisor и Firecracker, что сокращает время старта. Файловая система Overlayfs переписана на Rust и успешно проходит стандартные тесты xfstests и тесты ядра Linux. Стабилизирован код virtio-fs, появился новый API монтирования.

Всё это повышает совместимость с контейнерным стеком и рабочими нагрузками, привычными для Linux-администраторов. В недрах фреймворка OSTD реализован базовый API для создания минималистичных гипервизоров на Intel VMX. Хотя это лишь первые шаги, они закладывают основу для вложенной виртуализации и ещё более изолированных сред.

Asterinas пока не претендует на массовое вытеснение Linux, но для специализированных областей, где интерфейс Linux ABI нужен при жёстких требованиях к безопасности, проект предлагает зрелый и активно проверяемый вариант. Сочетание экосистемы NixOS, поддержки широкого круга архитектур и инструментария для разработки без unsafe-кода делает ядро заметным игроком в нише безопасных ОС.

кибербезопасность программирование открытый код

Оригинал

Обсуждение

Комментариев пока нет.

Похожие новости