Страница 1 из 1

Проект Moss развивает Linux-совместимое ядро на языке Rust

Добавлено: Сб ноя 29, 2025 2:51 pm
root:#
После 8 месяцев разработки опубликован первый прототип Unix-подобного ядра Moss, частично совместимого с Linux. Код написан на языке Rust с ассемблерными вставками и распространяется под лицензией MIT. В настоящее время проект поддерживает только архитектуру Aarch64, может запускаться в QEMU и протестировано на платах Raspberry Pi 4, Jetson Nano, AMD Kria и imx8. По утверждению разработчиков ядро легко может быть портировано для других архитектур, таких x86_64 и RISC-V, благодаря прослойке для абстрагирования поддержки оборудования. На данном этапе разработки в Moss реализован 51 системный вызов Linux и обеспечена бинарная совместимость с приложениями для Linux, достаточная для запуска командной оболочки Bash и большинства утилит из набора BusyBox. Из особенностей архитектуры Moss отмечается использование модели async/await для обеспечения асинхронного выполнения компонентов ядра, исключающей основные классы взаимных блокировок. В форме асинхронно выполняемых функций реализованы все нетривиальные системные вызовы. Основные возможности:
  • Система управления памятью с поддержкой страниц памяти в режиме CoW (Copy-on-Write), таблиц страниц памяти, асинхронных функций копирования памяти между ядром и пространством пользователя, обработки исключений (page fault) на стороне ядра и пространства пользователя. Система управления процессами с планировщиком задач и поддержкой миграции задач через IPI (inter-processor interrupt). Поддержка ответвления процессов через вызов clone(). Возможности для доставки сигналов процессам и потокам. Асинхронно работающий слой VFS (Virtual File System), блочное устройство Ramdisk, драйвер FAT32 и устройство devtmpfs. Вынос основной функциональности в библиотеку libkernel, не привязанную к аппаратным архитектурам. HAL-прослойка (Hardware Abstraction Layer) для обеспечения поддержки оборудования. Тестовый набор, включающий более 230 тестов.
Из существенных ограничений отмечается отсутствие сетевой подсистемы и наличие лишь урезанного драйвера файловой системы, поддерживающего ФС Fat32 в режиме только для чтения. Среди приоритетных задач упомянуто продолжение реализации системных вызовов Linux, создание TCP/IP стека, поддержка балансировки нагрузки в планировщике задач и предоставление полноценного драйвера для файловой системы (ext2/4).
Источник: https://www.opennet.ru/opennews/art.shtml?num=64342