Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Поддержка Rust переведена из экспериментальных в основные возможности ядра Linux

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 1057
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 46 раз
Поблагодарили: 24 раза

Поддержка Rust переведена из экспериментальных в основные возможности ядра Linux

Сообщение root:# »

Поддержка Rust переведена из экспериментальных в основные возможности ядра Linux
На проходящей в эти дни конференции 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 разработчики подсистем, написанных на Си, должны учитывать влияние изменений на продолжение работоспособности обвязок.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64401