LINUX.ORG.RU

Продемонстрирована возможность разработки частей Linux на Rust

 , ,


4

9

Французский программист написал статью, в которой рассмотрел возможность переписывания ядра Linux на Rust.

В статье отмечено, что данный язык хорошо подходит для системного программирования, будучи достаточно низкоуровневым и при этом лишённым многих недостатков C, и уже используется для написания новых ОС. Однако автор не считает создание ОС с нуля перспективным для серьёзного применения, и последовательный перенос отдельных частей Linux на Rust для решения различных проблем безопасности кажется ему более целесообразным.

В качестве «Proof of Concept» была приведена реализация системного вызова, содержащая вставки на Assembler внутри unsafe-блоков. Код компилируется в объектный файл, не связанный с библиотеками и интегрируемый в ядро во время сборки. Работа производилась на основе исходного кода Linux 4.8.17.

>>> Статья



Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 5)

Продемонстрирована возможность разработки частей Linux на Rust

Это хорошо или плохо?

anonymous
()

I do not write code for a living. Nor do I study computer science in university. And you know why this is great? Because it allows me to code completely stupid and useless things without anybody being on my back to tell me I shouldn’t.

Мне кажется порой, что по такой логике написано 99% всего опенсорсного софта

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

Это иначе никак. Создание страниц,системные вызовы и прочие - это платформо-специфичные вещи, невозможные без ассемблера и нарушения dry путём папки arch в исходниках.

anonymous
()

Ждём истерики Торвальдса

anonymous
()
Ответ на: комментарий от mbait

I do not write code for a living. Nor do I study computer science in university.

Вот и весь секрет. Парень просто внезапно узнал, что не только из кода на Си можно получить объектный файл.

Ещё один Поттеринг растёт http://cs620821.vk.me/v620821008/11995/yXDaIQOy_Xk.jpg

anonymous
()
Ответ на: комментарий от mbait

Разве расто-хайп не закончился?

Хайп закончился. Теперь это один из самых популярных низкоуровневых языков.

Так никто ничего на нём и не написал

https://www.rust-lang.org/en-US/friends.html

а Mozilla сдувается потихоньку.

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

Думаю, в течении 2-3 лет они запустят процесс ликвидации. Возможно, оставят Foundation.

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

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

фаерфокс вернётся к тому, чем он был — браузер для свободных людей.

Лолчо? Лиса уже все, причем давно. И возвращаться не собирается.

Хайп закончился. Теперь это один из самых популярных низкоуровневых языков.

0.1% это не популярность.

StReLoK ☆☆
()
Ответ на: комментарий от mbait

Разве расто-хайп не закончился?

Вторая волна на подходе

Так никто ничего на нём и не написал,

Враки. На гитхабе активность на уровне остальных популярных ЯП. Просто нужно понимать, что в отличие от гугловского инвалида, на ржавом запиливается нужное ПО, а оно требует времени на запилку. Да и ЯП только-только стабилизировался. Той же джаве потребовалось лет 10 на появление первых популярных и стабильных фреймворков.

Как по мне у ЯП большое будущее. На уровне Си, но значительно удобнее. А кресты это просто огромный кусок легаси.

а Mozilla сдувается потихоньку. Думаю, в течении 2-3 лет они запустят процесс ликвидации.

Мозила это бренд и её имя стоит очень дорого, если уж опера перезапустилась, то эти и подавно прорвутся. Им достаточно сделать новый продукт и он нём раструбят по всему миру за 0 денег. И они как раз делают такой продукт, причем на расте. Сделают качественно - хромой еще поплачет в сторонке...

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

ну в самом деле, зачем его кому-то устанавливать, если и встроенные браузеры хороши

Здравая мысль однако. Edge и safari быстро догоняют хромого

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

Вторая волна на подходе

Когда запилят синтаксис async/await и стадо веб-макак ломанется в бэкенд на звуки знакомых словес)

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

Это очень хорошая логика. Тут в /development недавно кто-то спросил как сделать одну языкоспецифичную вещь. И что ты думаешь? Ему чуть не начали рассказывать, что он не должен хотеть делать такую вещь.

MimisGotAPlan
()

автор не считает создание ОС с нуля перспективным для серьёзного применения

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

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

Когда запилят синтаксис async/await и стадо веб-макак ломанется в бэкенд на звуки знакомых словес)

Вебмакаки вряд ли рванут, в расте кривой ООП (даже какой-нибудь сахарок для делегации до сих пор не сделали), что для веб-разработки не приемлемо.

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

даже какой-нибудь сахарок для делегации до сих пор не сделали

Они сделают, не боись. Растовый babel. Rabel

makoven ★★★★★
()

Сколько творческого креатива, как из душа окатывает. А вот написать RustSSL (супер-мега-пупер безопасный SSL) никто не удосуживается. Отсюда вывод: rust - бесполезный хлам, годный только для фрических вскукареков.

anonymous
()

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

https://www.quora.com/In-the-C-programming-language-array-bound-checking-does...

lx93uv
()
Ответ на: комментарий от anonymous

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

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

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

Врушка. Просто наглая линуксовая врушка. Что сподвигло: мет или кокс?

И да, если в SSL нет смысла в расте, в этой хипстоте нет смысла вообще.

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

Почему не удосуживаются, пилят же ring, rustls и прочие либы.

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

pftBest ★★★★
()

Всегда подозревал, что французы слегка упороты.

для решения различных проблем безопасности кажется ему более целесообразным

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

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

Почему не удосуживаются, пилят же ring, rustls и прочие либы.

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

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

Это ты самую суть уловил.

anonymous
()
Ответ на: комментарий от nezamudich

Любая криптография пишется на ассемблере

Лайк.

Аха. Твой друг ласково пощекочет тебя своей бородкой во время утреннего смузи.

anonymous
()

Только умственно отсталый будет переписывать ядро ОС на Rust, так как Rust нестабильный by design. А вот для одноразовых ОС, которые пару раз компильнуть и выкинуть, вполне сгодится. На большее Rust неспособен.

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

Переписать готовенькое и отлаженное зачастую как раз не проще, так как обычно используются те или иные особенности языка, позволяющие на нём более просто и быстро разрабатывать и отлаживать ядро ОС. Даже если у языков есть много общего по части конструкций прямой перевод редко когда эффективным бывает.

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

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

Quasar ★★★★★
()
Ответ на: Объясните от Camel

Проблема в том, что у оригинала в данном случае есть недокументированное поведение (фактически баги). А стандарта нет.

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

От ОС-специфических задач всё равно не уйдёшь. Пример тому - GUI.

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

что там с браузером? все так же зависает с 337 потоками?

Не знаю, потестируй, расскажи.

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

Это не проблема кодинга на C, а проблема быдлокодеров, которые за C взялись. То, что низкоуровневый язык даёт возможность выстрелить себе в ногу - это факт низкоуровневого языка. Просто надо грамотно спроектировать архитектуру и грамотно делать реализацию, не перебарщивая и не превращая код в помойку.

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

0.1% это не популярность.

Забавно читать такие заявления на форуме ОС с популярностью в 1%.

И да, у rust уже приличная нише. 10k пакетов в Cargo как бы намекает.

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

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

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

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

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

С MIPS всё отлично. А вот с эльбрусом дело такое, что сами разработчики этого процессора не хотят совместимости даже по концепциям. Так что всё правильно.

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

Указывать сишникам на проблемы языка бесполезно. Кроме сишки сишник нихуя не знает и не умеет, а на любое обвинение у сишника есть универсальный ответ - «криворукость». Этим сишник как-бы намекает, что что все вокруг криворуки - т.е. сотрудники микрософта и интеля, пишущие кривые драйвера и библиотеки, сишники, пишущие дырявое ведро своей системы вот уже не первый десяток лет, просто другие сишники из соседнего подвала полусвовковой шаражки, в которой сишник работает. А вот сам сишник - сука граф Шарль Ожье де Бац де Кастельмор д’Артаньян среди педерастов, владеющий техникой левитации, предсказания будущего и написания небыдлокода на сишке. К сожалению, простым смертным едва ли не удастся увидеть творения сенсея, так и будут они работать с глючным говном криворуких интелевских и микросовтовских инжеренов, внезапно падающим от какого-нибудь buffer overflow, несмотря на зиллионы человекочасов, всратых на его тестирование и отладку.

anonymous
()
Ответ на: комментарий от foror

В JS даже итераторов нормальных нет. Им не привыкать.

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

Дело в тотальной нестабильности Rust.

Как на счёт деталей?

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

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

anonymous
()
Ответ на: комментарий от nezamudich

А чего там было? B? Так у него были свои преимущества, например, использование шитого кода.

anonymous
()

возможность разработки частей Linux на Rust

Есть только одна такая возможность: списать в утиль всё поколение системщиков из 70-х, и заодно подражающих им юношей. Но комьюнити линукс из таких состоит большей частью, так что не взлетит.

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