LINUX.ORG.RU
ФорумTalks

Ядро хотят переписать на Rust

 , ,


0

6

Французский разработчик, действующий под псевдонимом Dominus Carnufex, на практике продемонстрировал реалистичность идей по переписыванию ядра Linux на языке Rust. В настоящее время Rust уже хорошо показал себя в качестве языка низкоуровневого системного программирования и даже существует несколько проектов по разработке новых операционных систем на языке Rust. Автор исследования относится к проектам по созданию новых ОС скептически, считая, что у них нет шансов на завоевание рынка. При этом, более реалистичным выглядит постепенная переработка ядра Linux на Rust, что позволило бы решить многие проблемы с безопасностью.

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

Deleted
Ответ на: комментарий от Deleted

При каком соотношении SLOC безопасного к небезопасному для тебя твоё же утверждение будет верно? А для Васяна? А для бабы Нюры?

Не понял вопроса. Даже если на 99 опасных строк будет 1 безопасная строка, это снижение багов определённого класса на 1%. Насколько я знаю, в среднем в системном коде на Rust опасного кода около 1%, безопасного 99%. Для ядра, наверное, соотношение будет другое, в принципе есть пример ядра на Rust (Redox), это, конечно, не идеал, но как один из вариантов, можешь почитать его исходники и прикинуть, сколько там безопасного кода и сколько опасного.

Или ты по дефолту подразумеваешь граничное условие при котором unsafe стремится к нулю? И как, будет оно выполняться для ядра?

Думаю да.

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

как он может помочь в случае логических ошибок?

Перепутал + с -? Наверное никак. Разве что за счёт более мощных абстракций этот самый код с логической ошибкой будет гораздо меньшего размера и увидеть в нём ошибку будет проще. Но кроме логических ошибок есть множество ошибок других классов, которые в Rust невозможны.

Legioner ★★★★★
()

этом, более реалистичным выглядит постепенная переработка ядра Linux на Rust, что позволило бы решить многие проблемы с безопасностью.

Это, например, какие?

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

Как будто последний релиз gcc стабильнее

ведро можно и 4.9.2 собрать

upcFrost ★★★★★
()

Нужно хотят сделать ненужным.

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

В D без GC безопасности нет никакой, а с GC в кернел-спейс никто писать не будет. Че не на джаве то сразу?

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

Всё, что нужно уже стабилизировали, ЕМНИП, для этой задачи. Разрабы сидят потому что хочется экспериментировать и пробовать новые фишки, продакшн-код то на стейбле компилируется, самоубийц тут нет.

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

Тем что компилятор по рукам не надает в случае ошибки?

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

Это проблема данных биндингописателей. Суть в том, что

придется писать на си

неверно.

У луа вон ffi тоже отдельным проектом (даже двумя - luajit и luaffi) - это пока никого не останавливало/никому не мешало.

(впрочем, мне все равно проще биндинги на сишечке писать, чем лапшу на ffi)

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

я думал, asm стабилизировали уже

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

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

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

Как показывает практика, это не работает.

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

На то они и надмножества си, со всеми его недостатками

Вообще-то, строгое надмножество — только Objective-C.

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

D — вообще отдельный язык.

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

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

Ты часто встречал вдумчивый code review?

Я за 20 лет — лишь однажды, и считаю это исключением (у меня коллега реально имеет компилятор в башке, других объяснений нет).

Куча других «людей с опытом» (причём опыт зачастую не два десятка лет, как у меня, а поболе) — как правило, просто смотрят на код и задают кучу вопросов не по делу. Ну т. е. баги в коде они не замечают.

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

Оно всё равно под стейблом не соберется и проблема всплывет сразу. А asm уже очень близко к стабилизации, это уже вопрос пары релизов.
Язык молодой и хорошо что команда стремится проработать все детали фичи прежде чем стабилизировать (обратного пути то нет, а Rust 2.0 с поломками совместимости так рано — самоубийство, даже python2 всё еще местами актуален, хотя сколько лет прошло)

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

Оба, поймешь сишку — поймешь как работает память и будет проще с растом.
Сишка займет не много времени в плане изучения

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

GC и FFI с C ABI не очень хорошо сочетаются, там всегда геморроя больше, если нужно работать с ресурсами, а не просто числодробилки вызывать.

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

А почему не на D?

Ядро с Garbage collections будет испытывать проблемы во время сборки
Этим страдают Java и .Net

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

Суть в том, что

Придется тащить в проект gcc чтоб скомпилять неродной ffi и биндинги, написанные на си. А написаны они на си потомучто, ffi не родной

У луа вон

Вымышленные языки для написания радужных пони меня больше не волнуют;)

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

Вымышленные языки для написания радужных пони меня больше не волнуют

Ой толсто. Lua дохрена где используется, от встраиваемых систем до скриптов в играх и других soft realtime системах.

Другое дело что тащить GC в ядро ОС — сомнительная затея, потому и не взлетело.

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

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

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

Гугл затруднился мне ответить на запрос «ductape programming language».

Это настолько неизвестная маргинальщина или тут какая-то ирония?

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

Только при этом там вообще нет никаких гарантий безопасности, он без GC ничем в этом плане не лучше C++.

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

Так нашел.

Но все же в

Lua дохрена где используется

ключевые слова

дохрена используется

а Duktape — никому не известная маргинальщина, которую применяют... нигде.

mersinvald ★★★★★
()
Последнее исправление: mersinvald (всего исправлений: 2)

ну а чо. будет интересно потыкать такое ^_^

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

Расскажи про маргинальщину всем тем компаниям, которые ходят на луа-митапы и используют openresty, а то они не знают.

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

Креационизм особо не противоречит теории эволюции, т.к. последняя затрагивает биологические виды, но не говорит о происхождении вселенной вцелом

Ты слегка путаешь Гегелевско-Маркский спор о первичности духа или материи с тем дерьмом, что преподносят, как креационизм. У последних в зависимости от степени неадеквата вселенная оказывается создана 8к лет назад. Другие клоуны идут дальше и объясняют дисбаланс антиматерии на основе ветхого завета, лол.

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

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

Это ещё что... Мне один перец (с высшим техническим на тот момент) всё пытался объяснить соотношение неопределённостей Гайзенберга проявлением б-жьей воли.

Вернее, даже не так. Он это преподносил как доказательство существования таковой.

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

Ну эта тема не нова и попахивает Фомой Аквинским, который примерно такими же методами доказывал существование бога. Типа во вселенной дофига чего двигается -> почему? -> кто-то, сцуко, двигает -> профит. Вообще его рассуждения довольно любопытны и по своему логичны, поскольку если забыть что он там про Б-г говорит, он влезает в довольно щепетильные и сложные вопросы с этими вашими большими взрывами и инфляцией, на которые толком ответов то нет.

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

Угрозы? Человек написал статью в стиле «смотрите, на rust можно писать код в ядро linux и в принципе постепенно переписать его весь», а в ко-ко-корятнике уже шум и перья летят.

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

Я про то, что C и C++ никто никуда не подвинет.

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

atrus ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.