LINUX.ORG.RU
ФорумTalks

Кто хотел ядро на Rust?

 ,


0

3

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

Проект развивается с осени 2022 года и намерен уже в этом году добиться уровня, пригодного для широкого использования в виртуальных машинах с архитектурой x86-64. Начиная со следующего года основное внимание планируют переключить на реализацию поддержки оборудования и других архитектур CPU. Из приоритетных областей применения называются системы, завязанные на 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), адаптированную для использования в компонентах операционной системы.

https://www.opennet.ru/opennews/art.shtml?num=62061

★★★★★

Последнее исправление: Dimez (всего исправлений: 1)

притащу коммент с опеннет про сборку этого добра

docker run -it --privileged --network=host --device=/dev/kvm -v $(pwd)/asterinas:/root/asterinas asterinas/asterinas:0.9.3
Многое говорит о вас растишках. Мало того что нет нормального гайда сборки ядра, так еще и контейнеры что уже плохой тон. Мало того тут и привелегии вам подавай, и сетку хоста, и железки вам прокить, и рута дай, и хрен пойми откуда контейнер и с какими вирусяками.

Kolins ★★★★
()

Код проекта распространяется

https://github.com/asterinas/asterinas

1.4k stars
13 watching
95 forks
Contributors 38
1 Branch
1,580 commits

https://asterinas.github.io/book

In conclusion, we believe that MPL is the best choice to foster a vibrant, robust, and inclusive open-source community around Asterinas.

dataman ★★★★★
()
Последнее исправление: dataman (всего исправлений: 1)
Ответ на: комментарий от Ygor

Ну теперь Линуксу точно капец!

Починил. Эта штука – прямой конкурент ядру Линукс и в теории позволяет запустить весь юзерленд и диструбутивы если её установить вместо Линукса.

X512 ★★★★★
()

Опять какая-то убогая пермессивщина.

ya-betmen ★★★★★
()
Ответ на: комментарий от Kolins

так еще и контейнеры что уже плохой тон

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

ox55ff ★★★★★
()
Ответ на: комментарий от X512

Эта штука – прямой конкурент ядру Линукс и в теории позволяет запустить весь юзерленд и диструбутивы если её установить вместо Линукса.

Примерно как продуктовый ларёк - конкурент пя*ки, по ассортименту, цене и удобству - около нулевой.

Ygor ★★★★★
()
Ответ на: комментарий от ox55ff

пердолиться с ручной установкой зависимостей особой версии.

Подождите а как же cargo? Что случилось с ним? Там же все одной кнопкой?

Ygor ★★★★★
()
Ответ на: комментарий от Ygor

Одной кнопкой оно засрёт весь хомяк. А так всё в контейнере, гигиенично. Все равно его на выброс сразу же.

bread
()
Ответ на: комментарий от Ygor

пердолиться с ручной установкой зависимостей особой версии.

Подождите а как же cargo? Что случилось с ним? Там же все одной кнопкой?

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

Докер не идеален, да, но хотя бы позволяет не тащить в систему лишнее окромя самого докера

skyman ★★★
()
Ответ на: комментарий от dataman

Как мало форков на такое количество звёздочек, хм. Типа круто, я пошел дальше.

stave ★★★★★
()

Очередной монолит. Лучше бы hurd переписали

guyvernk
()
Ответ на: комментарий от Clockwork

А ты вроде любитель голанга, почему не кричишь ненужно?

ядро на гоу это примерно то же самое, что и ядро на жабе

kto_tama ★★★★★
()
Ответ на: комментарий от X512

Линуксу точно капец!

прямой конкурент ядру Линукс

И с очень большой долей вероятности это заставит разработчиков ядра поднять качество кода и наладить тестирование. Прямо вот так сразу линукс они не закопают. Линуксу капец настать может только в случае бездействия разработчиков линукса.

К тому же не забывай, что ядро не работает в вакууме. Ядро работает на железе для которого нужны дрова.

u5er ★★
()
Ответ на: комментарий от u5er

заставит разработчиков ядра поднять качество кода и наладить тестирование

ой вей, Зёма(с)
все кто могли в такое уже давно на пенсии

etwrq ★★★★★
()

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

для одаренных я про историю netbsd/dragonfly

ponchik-2
()
Последнее исправление: ponchik-2 (всего исправлений: 1)
Ответ на: комментарий от ponchik-2

единственный живой вариант это форкать основное ядро и перепиливать его на свой лад по частя

какая разница ?

vasya_pupkin ★★★★★
() автор топика

намерен уже в этом году добиться

/me зевает…

dimgel ★★★★★
()
Ответ на: комментарий от Bfgeshka

У них ужн есть свой лепрозорий в виде redox, нашиша ещё один?

Этот - с Китайской спецификой! :D

Manhunt ★★★★★
()

GNU/Asterinas как-то не особо звучит, как по мне.

urxvt ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)