Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

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

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 1050
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 46 раз
Поблагодарили: 24 раза

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

Сообщение root:# »

Проект Moss развивает Linux-совместимое ядро на языке Rust
После 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