Дата публикации:Sat, 29 Nov 2025 14:51:20 +0300
После 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 тестов.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=64342