
Совсем недавно мы вспоминали, как Rust вырос из стартапа до языка, у которого серьезные планы на Linux. И вот свежие новости: на Maintainers Summit 2025 года разработчики ядра решили, что Rust доказал свою пользу и можно расширить сценарии его использования. Это не значит, что он теперь на равных с C, но проект вышел за рамки «просто эксперимент». Давайте разберем, как все происходило, зачем нужно, почему были споры и что это сулит для будущего ядра. Поехали!
Как Rust пробирался в ядро
Ядро Linux всегда держалось на C — языке 1972 года. Он стал его основой во многом благодаря возможности работать максимально близко к железу. Его дополняет ассемблер, используемый в самых низкоуровневых частях системы. В 2010-х годах в сообществе разработчиков ядра и вокруг него начали появляться обсуждения возможности использования Rust — сначала на уровне идей и отдельных экспериментов. На фоне уже отлаженной кодовой базы это воспринималось как попытка добавить новый инструмент в мастерскую, где и без того все давно работает.
Идея использовать Rust в ядре Linux возникла как реакция на давнюю проблему языка C — уязвимости и сбои, связанные с управлением памятью. Rust изначально проектировался так, чтобы отлавливать подобные ошибки на этапе компиляции, и именно это привлекло внимание части разработчиков ядра. Язык использует строгую систему типов и проверки на этапе компиляции, которые ловят такие проблемы до запуска кода. Это не делает программы неуязвимыми на 100%, но снижает количество багов, особенно в новых модулях, где надежность критична.
Кроме того, Rust упрощает отладку за счет выявления многих ошибок еще на этапе компиляции. То, что в C часто обнаруживается только при запуске или в ходе эксплуатации, в Rust отсеивается заранее. Для ядра Linux это важно: каждый дефект требует долгого анализа и может проявляться в самых неожиданных местах. Особенно это актуально для драйверов, которые работают напрямую с оборудованием и нередко становятся источником нестабильности. C по-прежнему дает максимальный контроль и гибкость при работе с железом, но Rust снижает риск случайных ошибок и делает поведение системы более предсказуемым.
Впрочем, давайте признаем, что минусы у Rust тоже есть. Его синтаксис непривычен для тех, кто всю жизнь писал на C, а освоение требует времени. Но для ядра важен прагматизм, а Rust решает конкретные задачи, и это главное.
Однако от интереса до практики прошло немало времени: в течение 2010-х годов обсуждения в ��сновном оставались теоретическими и сопровождались лишь отдельными экспериментами. Реальный шаг сделали в 2022 году, когда в ядре версии 6.1 официально разрешили использовать Rust для написания драйверов и модулей. Разработчики подчеркивали, что речь идет о контролируемом эксперименте без вмешательства в основную кодовую базу.

За три года было создано несколько экспериментальных проектов: например, абстракции для драйверов видеокарт, сетевых устройств и USB. Эти компоненты пока не попали в основную ветку ядра, но показали, что Rust работает стабильно и не мешает коду на C. На Maintainers Summit 2025 года разработчики подвели итоги нескольких лет работы с Rust в ядре. Выяснилось, что Rust не вызывает проблем со сборкой и архитектурой ядра и может быть полезен в отдельных задачах, прежде всего там, где важна безопасность. На этом основании было решено пересмотреть его роль и расширить допустимые сценарии применения, сохранив осторожный подход и не затрагивая основную кодовую базу.

Бесплатный курс «Системный администратор Linux с нуля»
Освойте администрирование Linux на SelectOS и станьте востребованным специалистом.
Что теперь будет с ядром
Когда Rust только начали продвигать в ядре, часть разработчиков отнеслась к этому скептически. Они годами писали на C, отточили процессы, и идея добавить новый язык казалась лишней сложностью. Некоторые опасались, что два языка в одном проекте приведут к проблемам с поддержкой, или что Rust пытаются навязать как универсальное решение. Обсуждения порой становились очень жаркими, с аргументами, что проверенные методы на C вполне справляются.
Линус Торвальдс изначально критиковал не столько сам Rust, сколько попытки внедрить его без четк��го плана. Со временем, когда эксперименты показали рабочие результаты, его позиция смягчилась. Он признал, что язык может быть полезен в ограниченных областях, если все делать с умом.
С расширением роли Rust ядро не перестроится за ночь. Никто не планирует переписывать миллионы строк кода на C — это слишком рискованно и дорого. Наиболее вероятно, что продолжится уже сложившаяся практика экспериментов с отдельными драйверами или модулями. Это позволит постепенно тестировать язык в реальных сценариях, не трогая фундамент системы.

Для обычных пользователей Linux изменения в ближайшее время останутся незаметными. Сам по себе факт появления Rust в ядре — это еще не гарантия повышения скорости или стабильности дистрибутивов. Эффект может проявиться со временем и точечно. Скажем, если новые драйверы и модули, написанные на Rust, действительно окажутся более надежными, это снизит количество сбоев и уязвимостей в тех частях системы, которые традиционно считаются проблемными.
Для разработчиков ситуация выглядит иначе. Появление Rust в ядре расширяет круг возможных входов в проект: теперь вклад можно делать не только через C. Для тех, кто уже работает с Rust в других областях, это реальная возможность подключиться к разработке ядра.
Для индустрии в целом это сигнал, что Linux, как один из главных open-source проектов, готов пробовать нов��е подходы. Если Rust закрепится в ядре, это подтолкнет его использование в других системных задачах. Но пока это только начало, и сообществу предстоит найти, как лучше сочетать старое и новое.
Что в итоге
Признание Rust в ядре Linux нельзя назвать революцией и не попытка все переписать заново. Сказать, что это какое-то очередное модное веяние, тоже язык как-то не поворачивается. Ядро по-прежнему держится на C, но теперь у разработчиков появился еще один инструмент для ряда конкретных задач. Если Rust действительно поможет сделать драйверы и модули надежнее, от этого выиграют все. А сам факт, что Linux аккуратно впускает новый язык, показывает, что ОС умеет развиваться, не ломая того, что и так работает.
