Два дня назад Кристоф Хеллвиг, разработчик ядра, заявил, что Линус Торвальдс в частном порядке выразил готовность объединить код Rust с ядром, даже если некоторые разработчики будут возражать. Следуя примеру Линуса Торвальдса, Грег Кроа-Хартман также поддерживает интеграцию Rust в ядро Linux.
И Линус, и Грег считают Rust способом повысить безопасность и надёжность ядра Linux, хотя мнения других разработчиков ядра расходятся.
Грег Кроа-Хартман выражает заинтересованность во включении кода Rust в ядро Linux
Грег Кроа-Хартман (Greg KH) выразил поддержку интеграции Rust в ядро Linux, особенно для нового кода и драйверов.
Он считает, что использование Rust может устранить многие распространённые ошибки, встречающиеся в коде на C, такие как перезапись памяти, очистка путей ошибок, забытые проверки значений ошибок и ошибки «использование после освобождения».
Поддержка Грегом интеграции Rust в ядро — это очень важно, потому что он не просто разработчик. Грег Кроа-Хартман — один из основных разработчиков ядра Linux и текущий стабильной (maintainer) ветки ядра Linux.
Почему Грег К.Х. работает с Rust?
Грег К.Х. считает, что Rust позволяет избежать многих «глупых маленьких угловых случаев в C», которые приводят к ошибкам.
Он считает, что, используя Rust для написания нового кода и драйверов, разработчики могут сосредоточиться на более сложных задачах, таких как логические ошибки и состояния гонки.
- Повышенная безопасность: функции безопасности памяти в Rust могут значительно сократить количество ошибок и уязвимостей в ядре.
- Сосредоточьтесь на реальных проблемах: устранив распространённые ошибки, связанные с C, разработчики смогут уделять больше времени важным задачам.
- Готовность к будущему: по мере того, как многие разработчики ядра уходят на пенсию, переход на Rust может привлечь новое поколение разработчиков, знакомых с современными безопасными языками.
Взгляд Грега на внедрение Rust
Грег реалистично оценивает трудности. Он знает, что существующие 30 миллионов строк кода на C никуда не денутся в ближайшее время. Вот почему он выступает за постепенный подход:
- Сначала новый код: Используйте Rust для новых драйверов и компонентов ядра.
- Постепенный переход: при необходимости постепенно заменяйте старый код на C на версии на Rust.
- Совместная работа: поощряйте совместную работу разработчиков C и Rust для обеспечения бесперебойной интеграции.
Решение проблем
Конечно, интеграция нового языка в такой масштабный проект, как ядро Linux, сопряжена с определёнными трудностями. Вот некоторые из них:
- Удобство сопровождения: будет ли код на Rust так же легко поддерживать, как и код на C в долгосрочной перспективе?
- Качество кода: может ли код на Rust в ядре быть по-настоящему идиоматичным, учитывая необходимость взаимодействия с C?
- Повышенная сложность: сделает ли многоязычная кодовая база ядро более сложным и трудным в управлении?
Грег признаёт эти опасения, но считает, что сообщество разработчиков ядра Linux справится с этой задачей.
Он готов учиться и работать с разработчиками Rust и подчёркивает, что цель состоит не в том, чтобы переписать всё за одну ночь, а в том, чтобы внедрить Rust контролируемым и управляемым образом.
Является ли Rust будущим ядра Linux?
Итак, станет ли Rust будущим ядра Linux? Трудно сказать наверняка, но поддержка Грега Кроа-Хартмана — это значительный вотум доверия.
Этот шаг соответствует отраслевым тенденциям: такие компании, как Google, Microsoft и Amazon, всё чаще используют Rust из-за его безопасности и производительности.
Практические Шаги
Вот несколько предпринимаемых практических шагов:
- Проект Rust для Linux: Специальный проект работает над внедрением Rust в ядро структурированным образом.
- Гибкость подсистем: отдельные подсистемы в составе ядра могут решать, как они хотят взаимодействовать с Rust.
- Поддержка сообщества: в проекте Rust для Linux участвует множество людей и организаций, а не только сообщество Rust.
Заключение
Поддержка Грегом Кроа-Хартманом интеграции Rust в ядро Linux является убедительным подтверждением того, что этот язык может повысить безопасность и надёжность ядра Linux.
Несмотря на сохраняющиеся трудности, постепенный и совместный подход, который мы применяем, открывает многообещающие перспективы.
А теперь мы хотели бы услышать ваше мнение! Что вы думаете о Rust в ядре Linux? Считаете ли вы это положительным шагом или вас беспокоят возникающие проблемы? Поделитесь своими комментариями и вопросами в разделе комментариев ниже!