Состоялось событие, которое ещё в 2019 году казалось дерзкой мечтой, а в 2021 — спорным экспериментом.
На ежегодном Maintainers Summit разработчики ядра приняли окончательное решение:
🌟 Rust больше не является экспериментом. Он официально становится полноценной частью Linux-kernel.
Это не просто смена статуса в документации. Это — тектонический сдвиг в архитектуре и культуре разработки ядра, которое десятилетиями жило в строгом мире C, традиций UNIX и особенностей низкоуровневой инженерии.
Почему это исторически важно
Rust — первый язык после C, получивший право существовать в самом сердце Linux. И получил он его не из-за моды, а из-за очень прагматичных причин:
🛡️ 1. Безопасность памяти по умолчанию
Почти 70% всех серьёзных уязвимостей в ядре связаны с ошибками работы с памятью:
- переполнения буфера,
- использование памяти после освобождения,
- обращение через нулевой указатель,
- гонки и др.
Rust не «проверяет», а предотвращает такие ошибки благодаря системе владения, заимствования и строгим правилам времени компиляции.
Это всё равно что иметь встроенного статического анализатора, который никогда не устает.
🔩 2. Новые драйверы можно писать быстрее и безопаснее
Для многих компаний создание драйверов на C — дорогое удовольствие: много багов, много рисков, высокая цена ошибок.
Rust снижает входной порог:
- современный инструментарий,
- мощная типизация,
- встроенный тестовый стек,
- более предсказуемая производительность.
Для индустрии это означает возможность выпускать новое оборудование с меньшим риском критичных багов в драйверах.
⚙️ 3. Это начало эволюции инженерной культуры ядра
Linux-ядро — один из последних «цитаделей» Си в индустрии.
Интеграция Rust — это признание: мир изменился, и безопасные языки теперь не игрушка, а необходимость.
Как Rust оказался в ядре: путь длиной в годы
Работа команды Rust-for-Linux началась в 2020 году и выглядела как рискованный эксперимент: создать интерфейсы ядра для Rust, обернуть небезопасные участки (unsafe), обеспечить стабильность ABI и сделать так, чтобы Rust-код органично встраивался в сложнейшую экосистему C.
На этом пути было несколько технических прорывов:
🧱 — Выделение минимального “kernel-safe” подмножества Rust
То есть Rust, адаптированный к требованиям ядра, строго ограниченный, без динамических аллокаций по умолчанию, без стандартной библиотеки.
🔌 — Создание safe-обёрток над C-интерфейсами Linux
Это позволило драйверам работать с API ядра без необходимости постоянно переходить в рискованный небезопасный код.
🧪 — Механизм проверяемых модулей (Rust modules for kernel)
Теперь драйвер на Rust можно собрать и загрузить как обычный модуль — insmod и modprobe работают так же, как с C-кодом.
📦 — Интеграция с kbuild и поддержка в инфраструктуре ядра
Если язык не поддерживает build-систему Linux, его нет в ядре — точка. Rust удалось встроить органично.
Это по сути первый случай, когда язык нового поколения смог пройти в «клуб» системного программирования уровня ядра ОС.
Моё видение: Rust меняет не только Linux, но и индустрию
Как специалист, который следил за движением Rust-for-Linux с самых ранних RFC, я вижу несколько стратегических последствий.
🧩 1. Linux постепенно станет безопаснее, чем когда-либо
Даже если доля кода Rust в ядре будет небольшой (первые годы — около 1–5%), критичные компоненты вроде драйверов и подсистем ввода-вывода будут выигрывать первыми.
Уменьшение количества CVE — не вопрос маркетинга, а статистической неизбежности.
🧪 2. Появится новое поколение kernel-разработчиков
Многие разработчики никогда не писали на C в стиле ядра Linux.
Rust делает драйверы ближе к современным практикам:
- строгая типизация,
- модульность,
- unit-тесты,
- линтеры и форматтеры встроенные.
Я ожидаю появления “Rust kernel devs” — новых людей, которым раньше ядро казалось слишком опасным и устаревшим.
🛠️ 3. Производители железа начнут переходить на Rust-драйверы
Компании хотят уменьшать количество багов, но не хотят увеличивать бюджеты.
Rust одновременно:
- ускоряет разработку,
- уменьшает риски,
- упрощает поддержку.
Первые крупные вендоры начнут переход через 1–2 года.
🚀 4. Появится параллельная эволюция ядра: C + Rust
Rust не заменит C — и не должен.
Но он создаёт второй путь развития — более безопасный и современный.
Это уже похоже на гибридную архитектуру, где Rust служит «защитным слоем» над C-ядром.
Технический вопрос: а что с производительностью?
Часто спрашивают: “Rust медленнее C?”
Ответ: нет.
Rust генерирует код через LLVM, и в большинстве задач производительность идентична C.
Разница возникает только там, где Rust запрещает небезопасные операции — но это плата за гарантии памяти.
В драйверах и системных подсистемах Rust обычно → ни секунды не теряет, зато на годы снижает вероятность багов.
Это не конец эксперимента — это начало нового этапа ядра Linux
Снятие статуса «экспериментальный» — формальный, но ключевой шаг.
Это означает:
- Rust API теперь будет поддерживаться официально
- разработчики, отвечающие за поддержку ядра (kernel maintainers) обязуются не ломать Rust-инфраструктуру
- Rust-код больше не находится «на испытательном сроке»
- компании могут планировать разработку на Rust без риска отмены проекта
Это один из редких моментов, когда ядро Linux меняет курс.
Сравнимый по масштабу переход — разве что появление SMP или cgroups.
Заключение
Rust в ядре — это не просто новый язык.
Это начало перехода Linux к архитектуре, где безопасность памяти становится не опцией, а нормой.
Мы живём в момент, когда многолетний эксперимент стал реальностью — и эта реальность определит будущее операционных систем, драйверов и аппаратных платформ.
Ссылки на источник
🔗 Основная новость: https://lwn.net/Articles/1049831/