Об этом проекте

Asterinas — это ядро операционной системы с открытым исходным кодом, написанное на Rust, цель которого — стать производственной, безопасной для памяти альтернативой Linux. Вместо постепенного добавления Rust в большую кодовую базу на C проект использует подход с чистого листа: создание совместимого с Linux ядра общего назначения с нуля на Rust. Архитектура Проект предлагает архитектуру «framekernel», сочетающую производительность монолитного ядра с разделением, вдохновлённым микроядром. Небезопасный Rust ограничен небольшим проверяемым каркасом под названием OSTD, а остальная часть ядра написана на безопасном Rust, что намеренно минимизирует доверенную вычислительную базу для безопасности памяти. В проекте также представлена CortenMM — схема управления памятью, направленная на улучшение масштабируемости ЦП с сильными гарантиями корректности. Инструментарий Asterinas поставляется с OSDK — специализированным набором инструментов для сборки, запуска и тестирования ядер или компонентов ядра на Rust. Проект также предоставляет среду разработки на основе Docker и поддерживает Nix для разработки. Поддержка платформ Платформы разработки включают x86-64 и ARM64. Платформы развёртывания разделены на уровни: x86-64 — уровень 1 (полностью поддерживается и тестируется полным набором тестов при каждом PR); x86-64 с Intel TDX и RISC-V 64 — уровень 2; ARM 64 и LoongArch 64 — уровень 3 (ранняя стадия или экспериментальная поддержка). Начало работы Конечные пользователи могут попробовать установочный ISO-образ Asterinas NixOS со страницы релизов. Разработчики ядра могут клонировать репозиторий, запустить предоставленный Docker-контейнер, затем использовать make kernel и make run_kernel для загрузки виртуальной машины с небольшим initramfs или make nixos и make run_nixos для загрузки в интерактивную оболочку Asterinas NixOS. Статус и лицензирование Проект сообщает о четырёх годах активной разработки, поддержке более 230 системных вызовов Linux и экспериментальном дистрибутиве под названием Asterinas NixOS (не связанном с NixOS Foundation). Исходный код и документация в основном используют Mozilla Public License 2.0, а отдельные компоненты — более разрешительные лицензии.