Comments 20
2 вопроса:
Как решили проблему с числами с плавающей точкой (в ядре они не поддерживаются, слишком дорогая смена контекста)? Как решили проблему с различными неявными паниками, например при нехватке памяти?
Работать с FPU в ядре можно. С оплатой отключения прерываний и сохранения/восстановления контекста FPU по месту использования. В архитектурно-специфичном коде, который уверен, что этот FPU вообще существует.
Сейчас Rust-код собирается с soft-float, эмулируя типы с плавающей точкой, а все функции-переходники превращены в паникующие заглушки. Сама паника превращается в BUG() — который по-хорошему никогда не должен происходить.
Нехватка памяти никак пока не обрабатывается, там всё та же паника. Обработчики для этого поставить можно, но сейчас там тупо заглушка с паникой.
ЧИСО.
Поясните, починили ли проблему, связанную с тем, что компилятор может неконтролируемо для разработчика порождать инструкции выделения памяти в куче?
Upd: на предыдущие вопросы ответ увидел.
серьезно, а в чем негатив такой у вас? я на го пишу, и смотрю в сторону раст, как на более надежный, но сложный яп, пока не решился надо ли вникать или нет
Совершенно верно. Ручонки шаловливые у кого-то чешутся чтобы завалить линукс. Наверняка мелкомягкие с яблочниками и АНБ работают в этом направлении активно, через своих агентов-вредителей, внедренных в сообщество.
Странно читать это, после того как Линус Торвальдс разнёс этих коммитеров в репу ядра в пух и прах https://m.habr.com/ru/company/selectel/blog/552142/
Ну уж в пух и прах. Указал на две явные проблемы, про которые вроде как все и так знают и пытаются исправить. Похоже вы не застали те времена, когда Торвальдс мог такие трехэтажные перлы выдавать, что зачитаешься.
В целом судя по LKLM Rust в ядре однозначно быть ибо в этом заинтересованы почти все, кто должны, а кто не особо заинтересован (как Торвальдс) категорично не отрицают возможность.
Сначала вышла эта статья, а затем Линус разнёс авторов в пух и прах. Как тех антипрививочников чуть позже.
И как вы определили, что я не застал те времена? :-/
Вот когда они разнесут торвальдса, тогда поговорим :-)
не трогайте то что хорошо отлажено и работает, и развивается нормально. руки прочь от ядра линукс, одной из немногих действительно хорошо продуманных, надежных, адекватных и качественных разработок. не надо уничтожать хорошее под предлогом якобы лучшего. в данном случае и к данному случаю применима пословица: "лучшее" - враг хорошему.
Rust в ядре Linux