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 обязательно


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

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

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

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

  • 1.10, q (ok), 22:50, 09/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Желаю проекту удачи!

    - Выбрали самый современный ЯП, опережающий другие ЯП на десятилетия, что похвально.

    - Выбрали самый современный дистр, опережающий другие дистры на как минимум два десятилетия, что похвально. Ни один современный пакетный менеджер не догнал возможности Nix в том виде, в каком он был еще в 2004. Повторяю: лично твой, читатель, пакетный менеджер из 2026, отстает по возможностям от Nix образца 2004-го года, и это не преувеличение.

    - Современная архитектура с микроядрами. То, о чем мечтали в Hurd, но так и не удосужились реализовать. А тут Asterinas просто ворвался и взорвал танцпол, показав дидам, как правильно делать микроядра.

    На данный момент уже можно заявить, что если нам придется переходить с линукса на что-то другое, то в списке альтернатив Asterinas УЖЕ будет выше FreeBSD, Hurd и прочей фигни.

     
     
  • 2.12, Аноним (12), 22:54, 09/06/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Сабжевая поделка ещё хуже редокса. Это даже не переписывание ради переписывания это поиграться и забыть. Промышленное микроядра общего назначения невозможно, запомни это.
     
     
  • 3.16, Аноним (16), 23:06, 09/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Расскажи это квалкому, да.
     
  • 2.18, Аноним83 (?), 23:22, 09/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У меня то фря на десктопе уже работает 10 лет, и вполне норм, особенно последний год.
    А в этой поделке хотя бы браузер собрать-запустить можно?
     
  • 2.28, Аноним (28), 00:14, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нет там ничего от микроядер. Вся система работает в одном адресном пространстве.
     
  • 2.30, Анонимный татарин (?), 00:19, 10/06/2026 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
  • 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-обвязок, но это такое себе.

     
     
  • 4.55, morphe (?), 04:40, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > В OCI, тебе придется заменить все пять слоев, дико дублируя данные. В Nix, меняется только этот файл + какая-нибудь top-level фигня, ссылающаяся на новый файл.

    Вообще нет, ты можешь изменить только отдельный слой в OCI... Проблема однако в dockerfile, потому что он такие изменения не предусматривает.
    Если OCI собирать через Nix - то у тебя каждый пакет в /nix/store это отдельный слой, и изменение файла изменит только один слой. Слои друг от друга не зависят, и ты можешь их в любом порядке накладывать друг на друга в контейнере.

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

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

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

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

     
  • 2.33, Аноним (33), 00:43, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Который впаривают всем за счёт громких лозунгов об безопасности и маркетингу То... большой текст свёрнут, показать
     
     
  • 3.42, q (ok), 01:00, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > человеческие ошибки он всё равно не решает

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

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

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

    > я возьму Flatpak

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

     
     
  • 4.45, Аноним (33), 01:11, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но не должен и не обязан, как все остальные компиляторы и языки А вот человек о... большой текст свёрнут, показать
     
     
  • 5.51, q (ok), 02:20, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Но не должен и не обязан

    А вот он - прикинь! - взял обязательство решать.

    > человек обязан учиться на собственных ошибках

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

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

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

    Понял? Раст -- для осознающих свои недостатки. Си -- для неосознающих, самоуверенных генераторов CVE.

    > Устранять несовместимости - так же обязанность разработчика

    Никто никому ничего не обязан, особенно в опенсорсе. Разраб _соизволил_ потестить свою прогу с версией 2.0.0 -- она работает. Про то, будет ли прога работать с 1.2.3, он ничего не заявлял, и бабки ему за это не платили.

    > Dependency Hell ты всё равно никогда не решишь

    Умное слово из 90-ых вспомнил? Все проблемы решаемые.

    > делаешь только хуже в плане тех же уязвимостей

    Именно поэтому любое ПО стоит воспринимать как источник угроз, и оборачивать его в контейнеры/флатпаки.

    > Ни для чего он не пригоден, кроме как имитировать бурную деятельность

    Для всего пригоден. Если не согласен -- приводи что-то поаргументативнее пустых выкриков.

     
  • 4.49, Анонимный татарин (?), 02:09, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > use-after-free, double-free -- человеческие (не инопланетянские) ошибки. Вызванные невнимательностью.
    > И раст их решает.

    Скажи, ты правда считаешь, что это и есть опережение на десятки лет? Вот ты настолько вот не в курсе, что последние 50 лет происходит, что считаешь это манной небесной? Воистину, апологеты раста -- это самые деревянные существа, что я видел. Язык как язык, но вот это вот тошнотворное амбре вокруг него создают недалекие фанатики, что ложку к уху несут. Тьфу, это совсем за гранью, даже пхпшники и 1с-еры адеуватнее этого сброда

     
     
  • 5.52, q (ok), 02:26, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот ты настолько вот не в курсе, что последние 50 лет происходит, что считаешь это манной небесной?

    Расскажи, что произошло за последние 50 лет такого, что отменяет все преимущества раста.

    > Воистину, апологеты раста -- это самые деревянные существа, что я видел.

    Ну, пока что только ты тут подтверждаешь свою деревянность. Впрочем, к деревянности критиканов раста я уже привымкши.

     
  • 2.54, Аноним (54), 03:12, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Почему ты разговариваешь как чатгпт
     

  • 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 [^] [^^] [^^^] [ответить]  
  • +/
    В расте и динамических библиотек нет.
     
     
  • 3.48, Прохожий (??), 01:40, 10/06/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.23, Аноним (23), 00:02, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    в расте чекер боровов не может выйти за пределы компилируемого куска.
     
     
  • 3.50, Анонимный татарин (?), 02:11, 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 [^] [^^] [^^^] [ответить]  
  • –1 +/
    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 [^] [^^] [^^^] [ответить]  
  • +2 +/
    да пипец, просто сейчас возьмут и перепишут на раст. расходимся пацаны, опеннет уже не тот будет
     

  • 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 +/
    ты, видимо, не разу в жизни не видел китайского кода
     

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

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

     
     
  • 5.56, Аноним (28), 04:47, 10/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В такой бред никто уже не верит...
     

  • 1.40, Аноним (40), 00:59, 10/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вот и отличненько. Ещё бы продвигаторам руста в линукс этот проект показать
     
  • 1.47, Аноним (47), 01:40, 10/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошо бы написали достаточно, чтобы на bare metal можно было запустить и создать внутри виртуальную машину с линуксом.
     
  • 1.53, Аноним (53), 02:27, 10/06/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

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



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

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