На проходящей в эти дни конференции Maintainers Summit состоялось обсуждение результатов эксперимента по добавлению в ядро Linux возможности разработки компонентов на языке Rust. Собравшиеся участники признали эксперимент успешным и решили перевести поддержку языка Rust в категорию основных частей ядра, сняв с неё метку экспериментальной функциональности.
Три года назад возможность разработки драйверов и модулей на языке Rust была добавлена в ядро 6.1. С тех пор в состав ядра были включены абстракции для разработки на Rust драйверов для GPU, ФС, блочных устройств, сетевых адаптеров и USB-устройств. На языке Rust развивается драйвер Nova для GPU NVIDIA, asahi для GPU Apple AGX, Tyr для GPU ARM Mali, rust_ext2 c ФС Ext2. В состав ядра принята написанная на Rust реализация IPC Binder. Проект RROS развивает real-time подсистему для ядра Linux, написанную на Rust.
Поддержка Rust неактивна по умолчанию и не приводит к включению Rust в число обязательных сборочных зависимостей к ядру.
По мнению сторонников продвижения Rust, данный язык исключает появление большинства ошибок, выявляемых в ядре и вызванных особенностями языка Си (corner case), что позволяет при рецензировании сосредоточиться на логических ошибках и состояниях гонки. Rust помогает избавиться от таких проблем, как обращение к памяти после её освобождения, выход на границу буфера, некорректное освобождение ресурсов при обработке ошибок и забытые проверки возвращаемых кодов ошибок. Применение Rust для нового кода также даёт возможность сократить время разработки, благодаря снижению трудозатрат на отладку и наличию в языке строгих гарантий, выявляющих ошибки на ранней стадии написания кода.
Противники внедрения Rust в ядро считают недопустимым использование нескольких языков программирования в сложных проектах - смешанные кодовые базы усложняют работу мэйнтейнеров, так как ставят их в зависимость от кода на другом языке. Например, при наличии обвязок на Rust разработчики подсистем, написанных на Си, должны учитывать влияние изменений на продолжение работоспособности обвязок.
Дополнение: Мигель Охеда (Miguel Ojeda), автор проекта Rust-for-Linux, передал патч для удаления из документации к ядру предупреждения об экспериментальном характере поддержки Rust.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64401
(opennet.ru, основная лента)
[ON] Поддержка Rust переведена из экспериментальных в основные возможности ядра Linux
Модератор: Модераторы разделов
-
rssbot
- Бот
- Сообщения: 6001
- ОС: gnu/linux
[ON] Поддержка Rust переведена из экспериментальных в основные возможности ядра Linux
Последний раз редактировалось rssbot 13.12.2025 08:35, всего редактировалось 4 раза.
Причина: Updated upstream
Причина: Updated upstream