The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск ядра Asterinas 0.18, написанного на языке Rust и совместимого с Linux

09.06.2026 20:57 (MSK)

Представлен релиз проекта Asterinas 0.18, развивающего ядро, написанное на языке Rust и предназначенное для использования в операционных системах общего назначения. Ядро предоставляет ABI (Application Binary Interface), совместимый с ядром Linux и способный использоваться вместо него. Параллельно развивается дистрибутив Asterinas NixOS, сочетающий ядро Asterinas с системным окружением NixOS. Код проекта распространяется под лицензией MPL (Mozilla Public License).

В настоящее время в ядре реализовано около 240 системных вызовов Linux. В дистрибутиве Asterinas NixOS верифицирована работа поверх ядра Asterinas более 100 пакетов из NixOS. Среди поддерживаемых пакетов: Xfce, Firefox, bash, systemd, Podman, QEMU, rsync, Apache httpd, nginx, SQLite, Redis, Clang, GCC, Go, Lua, Node.js, OpenJDK, Perl, PHP, Python, Ruby, Rust, Git, FFmpeg, PyTorch, TensorFlow, Ollama и Codex.

В ядре обеспечена полная поддержка архитектуры x86-64, частичная поддержка RISC-V 64 и x86-64 с изоляцией на базе Intel TDX, а также начальная поддержка архитектуры LoongArch 64. Из приоритетных областей применения называются системы, завязанные на Linux ABI, но требующие более высокого уровня защищённости. Например, Asterinas предлагается использовать для формирования системного окружения защищённых виртуальных машин, для изоляции которых используются такие технологии, как ARM CCA, AMD SEV и Intel TDX, а также на стороне хост-системы, обеспечивающей запуск контейнеров.

Для снижения вероятности появления ошибок при работе с памятью, являющихся главным источником наиболее опасных уязвимостей, при написании Asterinas задействован язык Rust и тактика ограниченного использования unsafe-блоков. Ядро построено с использованием архитектуры framekernel, в которой попытались совместить возможности изоляции микроядер с эффективностью монолитных ядер.

Компоненты ядра в Asterinas размещаются в общем адресном пространстве, а безопасность достигается на уровне логического разделения безопасного кода и кода, в котором не исключено возникновение проблем с безопасностью. Ядро разбито на две части, написанные на Rust: OS Framework и OS Services. В OS Services запрещено применение unsafe-блоков, а все низкоуровневые операции, требующие выполнения кода в блоках unsafe, вынесены в OS Framework и доступны только через высокоуровневый API. Все системные вызовы, файловые системы и драйверы реализуются на уровне OS Services и не могут включать unsafe-блоки.

Для разработки системных сервисов и модулей ядра поставляется инструментарий OSDK (Operating System Development Kit), предоставляющий утилиту cargo-osdk для создания, сборки, тестирования и запуска компонентов операционной системы. Для разработчиков подготовлен набор библиотек OSTD (Operating System Standard Library), включающий редакцию стандартных библиотек Rust(crate std), адаптированную для использования в компонентах операционной системы.

Среди изменений в версии 0.18:

  • В рамках работы по обеспечению запуска Asterinas в качестве гостевой системы в VM-контейнерах Kata Containers и Confidential Containers реализована поддержка пространств имён IPC и cgroup, nsfs (/proc/[pid]/ns), cgroups, virtio-fs (для доступа к общей с хост-системой ФС), virtio-rng (/dev/hwrng для энтропии к генератору псеводослучайных чисел) и vsock (для взаимодействия между хостовой и гостевой системами).
  • Реализован системный вызов ptrace и возможности для отладки в пространстве пользователя при помощи GDB и strace.
  • Предложена новая реализация файловой системы ext2 и добавлен драйвер NVMe. В VFS добавлен механизм Dentry (Directory Entry) и переделана реализация страничного кэша.
  • В дистрибутиве Asterinas NixOS реализована возможность запуска Codex, QEMU и Firefox.
  • Добавлены системные вызовы pidfd_getfd, pidfd_send_signal, pivot_root.
  • Добавлена начальная поддержка IPv6.
  • Реализована система capabilities для делегирования отдельных привилегированных операций.
  • Добавлена начальная реализация фреймворка LSM (Linux Security Modules).


  1. Главная ссылка к новости (https://asterinas.github.io/20...)
  2. OpenNews: Проект Asterinas развивает ядро на языке Rust, совместимое с Linux
  3. OpenNews: В Китае запущен спутник с real-time подсистемой ядра Linux, написанной на Rust
  4. OpenNews: Операционная система Munal на Rust
  5. OpenNews: Ядро Maestro, написанное на Rust и частично совместимое с Linux
  6. OpenNews: Проект Moss развивает Linux-совместимое ядро на языке Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65654-asterinas
Ключевые слова: asterinas, rust, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, warlock (??), 22:31, 09/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > не могут включать unsafe-блоки

    Это порочная практика, полное непонимание сути и смысла Rust.

     
     
  • 2.4, Аноним (4), 22:34, 09/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну тогда дырки в си - полное непонимание сути и смысла си
     
  • 2.37, 12yoexpert (ok), 00:54, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    они как раз понимают лучше тебя: пепреписанным на раст обязательно должно быть невозможно пользоваться
     

  • 1.3, Аноним (4), 22:32, 09/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    они хоть структуру-то соблюдают? как потом пушить/мержить будут? хддд
     
  • 1.8, Аноним (8), 22:46, 09/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ура! Наконец-то они свалят в собственный загончик, и перестанут улутшать Linux!
     
     
  • 2.26, Аноним (26), 00:12, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а если бы, забросят же
     
  • 2.46, Colorado_House_of_Representatives (?), 01:16, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Этого не произойдет.
     

  • 1.10, q (ok), 22:50, 09/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Желаю проекту удачи - Выбрали самый современный ЯП, опережающий другие ЯП на де... большой текст свёрнут, показать
     
     
  • 2.12, Аноним (12), 22:54, 09/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сабжевая поделка ещё хуже редокса. Это даже не переписывание ради переписывания это поиграться и забыть. Промышленное микроядра общего назначения невозможно, запомни это.
     
     
  • 3.16, Аноним (16), 23:06, 09/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Расскажи это квалкому, да.
     
  • 2.18, Аноним83 (?), 23:22, 09/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У меня то фря на десктопе уже работает 10 лет, и вполне норм, особенно последний год.
    А в этой поделке хотя бы браузер собрать-запустить можно?
     
  • 2.28, Аноним (28), 00:14, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нет там ничего от микроядер. Вся система работает в одном адресном пространстве.
     
  • 2.30, Анонимный татарин (?), 00:19, 10/06/2026 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
  • 2.31, Аноним (26), 00:23, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Повторяю: лично твой, читатель, пакетный менеджер из 2026, отстает по возможностям от Nix образца 2004-го

    ты знаешь, а примерно в то время я был студентом и действительно пилил свой пакетный менеджер, и тех фишек что там были в современных нет, типа монтирования, можно было пачку пакетов смонтировать и скопировать, а потом загрузчик и вот тебе система.

    rpm и deb то еще легаси которое не очень то хотят трогать, недавно смотрел че там есть нового, ну есть на гошке тузла, собирает rpm, deb и кучу всего, но дополнительных функций 0, ты не можешь добавить в пакет номер сборки или еще чтото, потыкал и удалил, старые тузлы давно заскриптованы и отлично работают.

    а все что пытался решить nix давно решил докер, flatpak и прочие

     
     
  • 3.35, q (ok), 00:47, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > можно было пачку пакетов смонтировать и скопировать

    Если я тебя правильно понял, то это звучит интересно и перспективно (без сарказма). Как минимум, ты мог бы статью накатать по этому поводу, если лень доводить пакетник до состояния работающего продукта -- может кто другой подхватит идею.

    > давно решил докер

    Докер (OCI) использует layers. Это ущербная архитектура, сильно уступающая content-addressable пространству. Представь, что у тебя пять слоев. На первом слое надо изменить текстовый файлец, опечатку исправить. В OCI, тебе придется заменить все пять слоев, дико дублируя данные. В Nix, меняется только этот файл + какая-нибудь top-level фигня, ссылающаяся на новый файл.

    > докер, flatpak

    Контейнеры не конкурируют с Nix, а дополняют его. Nix превосходит их по части storage (см. выше), но НЕ конкурирует с ними во всем остальном. Хотя, в целом на Nix есть решения по декларативному оформлению bwrap-обвязок, но это такое себе.

     
  • 3.39, freehck (ok), 00:58, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > ты знаешь, а примерно в то время я был студентом и действительно
    > пилил свой пакетный менеджер, и тех фишек что там были в
    > современных нет, типа монтирования, можно было пачку пакетов смонтировать и скопировать,
    > а потом загрузчик и вот тебе система.

    Это всё конечно очень интересно, но дистрибутивы — это не столько про технологии, сколько про выстроенные вокруг них процессы: потому что выстраивание процессов — это тебе не код написать-отладить, это нужно уметь с людьми работать.

    Каким бы ни был навороченным дистрибутив, всех в первую очередь интересует только то, насколько хорошо выстроены процессы: процессы доставки обновлений безопасности, процессы формирования релиза, процессы обработки репортов, процессы платной поддержки, процессы получения сертификаций, нужных для возможности использования в определённых областях...

    Увы, но все эти вопросы одним лишь кодом не закрыть.

     
  • 2.33, Аноним (33), 00:43, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Выбрали самый современный ЯП

    Который впаривают всем за счёт громких лозунгов об безопасности и маркетингу. То, что человеческие ошибки он всё равно не решает (потому что решать их должен не компилятор и не язык программирования), думаю, упоминать не стоит.

    > Ни один современный пакетный менеджер не догнал возможности Nix

    Какие возможности? Загадить систему несколькими версиями одного и того же пакета ради непонятно чего? Если я захочу пострадать подобным бредом, я возьму Flatpak, удобств управления пакетами хватает и в остальных мейнстримных пакетниках, которые прекрасно справляются с задачами.

    Не говоря уже о том, что хвалебных од написано про этот дистрибутив настолько много, что уже вызывает большие сомнения в том, что его стоит использовать.

    > А тут Asterinas просто ворвался

    И ничего не сделал, потому что это очередной "проект на досуге", который пытается быть совместимым с мейнстримом.

     
     
  • 3.42, q (ok), 01:00, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > человеческие ошибки он всё равно не решает

    use-after-free, double-free -- человеческие (не инопланетянские) ошибки. Вызванные невнимательностью. И раст их решает. Если что-то поддается автоматической валидации, это должно валидироваться, а не оставляться на откуп мясным бульонам. Напоминаю, что вычислительные возможности мясного бульона уступают даже советским калькуляторам, а типичный прохожий ошибется даже на 7 * 8.

    > Загадить систему несколькими версиями одного и того же пакета ради непонятно чего?

    Ради того, чтобы каждая программа использовала ту версию библиотеки, с которой тестировал его разраб. Это значительно повышает стабильность, так как нет неявных несовместимостей. Да, даже если API и ABI совместимы, это не значит, что версия в целом правильная. Единственный (повторю: единственный) минус -- это требование чуть большего объема на диске. Но на практике ты получишь лишний мегабайт на диске -- смешное число в эпоху дешевых 8-терабайтных SSD.

    > я возьму Flatpak

    Флатпак пригоден только для десктопных приложений. Ядро и сервисы в нем не распространишь. Ты сравниваешь несравниваемое: пакетник операционной системы != инфраструктура по доставке исключительно GUI-приложений.

     
     
  • 4.45, Аноним (33), 01:11, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > И раст их решает

    Но не должен и не обязан, как все остальные компиляторы и языки. А вот человек обязан учиться на собственных ошибках, в противном случае получаем соответствующий результат и очевидную промытость "безопасностью", на которую ведутся многие. Где-то я уже видел подобное...

    > Ради того, чтобы каждая программа использовала ту версию библиотеки, с которой тестировал его разраб

    Это не решение проблемы, а откладывание решения, проще говоря костыль. Устранять несовместимости - так же обязанность разработчика (а за обязанности ему могут платить деньги, внезапно), Dependency Hell ты всё равно никогда не решишь, а намертво закрепляя определённую версию делаешь только хуже в плане тех же уязвимостей, которые подобные решения тоже подкидывают. И опять же, приходим к человеческому фактору, которым должен заниматься человек - какая неожиданность!

    > Флатпак пригоден только для десктопных приложений

    Ни для чего он не пригоден, кроме как имитировать бурную деятельность и посредством маркетинга впаривать заплатки на Dependency Hell и очередную бЕзОпАсНоСтЬ.

     

  • 1.11, Tita_M (ok), 22:51, 09/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Ядро разбито на две части, написанные на Rust: OS Framework и OS Services. В OS Services запрещено применение unsafe-блоков, а все низкоуровневые операции, требующие выполнения кода в блоках unsafe, вынесены в OS Framework и доступны только через высокоуровневый API.

    В Rust, что, нет иерархии модулей как в том же Обероне? Или я чего-то не понял и она там есть и это разделение с помощью неё сделано?

     
     
  • 2.13, Аноним (12), 22:55, 09/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В расте и динамических библиотек нет.
     
  • 2.23, Аноним (23), 00:02, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    в расте чекер боровов не может выйти за пределы компилируемого куска.
     

  • 1.15, Аноним (15), 23:00, 09/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    О, Linux - super star! Стал настолько популярным, что делают ОС-эмуляторы.
     
  • 1.17, FSA (ok), 23:15, 09/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Добавлена начальная поддержка IPv6

    Спасибо нет. В то время, когда в другие системы внедряют CLAT, чтобы можно было полностью уйти от IPv4, у эти в 2026 году появляется только начальная поддержка. Будем ждать... как ждали wine.

     
     
  • 2.38, 12yoexpert (ok), 00:57, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    USE="-ipv6" тебя вылечит
     
  • 2.44, Аноним (44), 01:02, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нужно сразу IPv8 пилить ;)
     

  • 1.20, Аноним (20), 23:41, 09/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот это китайцы отожгли!
     
     
  • 2.21, Аноним (4), 23:44, 09/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да пипец, просто сейчас возьмут и перепишут на раст. расходимся пацаны, опеннет уже не тот будет
     

  • 1.22, Аноним (22), 00:01, 10/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лучшего в мире управленца почти отправили на пенсию. Осталось запилить драйвера видео и фс.
     
  • 1.24, Аноним (23), 00:10, 10/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пока Линус разрабатывает методику внедрения поддержки раста в ядре, китайцы уже сделали ядро на расте.
     
     
  • 2.25, Аноним (4), 00:12, 10/06/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.41, 12yoexpert (ok), 00:59, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ты, видимо, не разу в жизни не видел китайского кода
     

  • 1.27, Гарри поттер (?), 00:13, 10/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Астеринас кастридас Атис атис аниматис
     
  • 1.29, вася (??), 00:15, 10/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    раньше переписывали всё на реакт, а теперь вот на раст
     
     
  • 2.32, Аноним (4), 00:28, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну их на войну не посылают, тачки втридорога покупать не заставляют - есть чем заняться
     
     
  • 3.34, Аноним (34), 00:46, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    китай вообще единственные кому выгодна дедовская движуха, а не наташе с сашей( как по теливизеру говорят)
     
     
  • 4.36, Аноним (4), 00:53, 10/06/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.43, 12yoexpert (ok), 01:00, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    не китай, а винни пух

    не единственный, а ещё и гражданину вове

     

  • 1.40, Аноним (40), 00:59, 10/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вот и отличненько. Ещё бы продвигаторам руста в линукс этот проект показать
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру