Код Rust для Linux был объединен с основным деревом Linux 6.1 Git в прошлый понедельник и этот новый исходный код из 12 500 строк обеспечивает только самую базовую инфраструктуру и интеграцию, в то время как будущие запросы на включение добавят больше абстракций подсистем, различные драйверы, написанные на Rust, и многое другое.
Компиляция ядра Linux с поддержкой Rust по-прежнему необязательна., так как проект «Rust для Linux» делает еще один большой шаг, но некоторые разработчики все еще скептически относятся к внедрению языка Rust в ядро Linux.
В сообщении сообществу ядра Торвальдс сказал:
«Дерево имеет недавнюю основу, но в основном это linux-next уже полтора года. Обновлено на основе отзывов с саммита по обслуживанию ядра.
Мигель — главный сопровождающий, и я помогаю, когда это необходимо. Наш план состоит в том, чтобы дерево перешло к стандартной практике не менять базы, как только этот начальный этап инфраструктуры будет завершен. Контент — это абсолютный минимум, позволяющий интегрировать код Rust в ядро, а также множество других интерфейсов (и драйверов: NVMe, 9p, GPU M1) на подходе».
Напомним, проект «Rust для Linux» нацелен на внедрение в ядро нового языка программирования.. У Rust есть ключевое свойство, которое делает его очень интересным для рассмотрения в качестве второго языка ядра: он гарантирует отсутствие неопределённого поведения. Сюда входят ошибки неиспользования after-free, двойные освобождения, гонки данных и т. д.
При этом почти через 31 год для разработки ядра будет принят второй язык. Связанные с этим обсуждения вращаются вокруг возможности отказа от C в пользу языка Rust.
Поддержка Rust была в linux-next в течение полутора лет, и краткий журнал не отражает количество людей, которые внесли свой вклад как в ядро Linux, так и в исходную часть Rust для поддержки потребностей ядра. . . .
Спасибо этим 173 людям и многим другим, которые принимали участие во всех видах
Торвальдс объявил в списках рассылки Kernel, что первоначальная поддержка Rust для Linux находится примерно в 4 областях. и которые включают:
- внутренности ядра (расширение kallsyms для символов Rust, формат %pA);
- Kbuild framework (правила сборки Rust и вспомогательные скрипты)
- Документация и образцы ядра Rust.
Торвальдс недавно исследовал потенциальную проблему безопасности с примитивами спекулятивного выполнения связанного списка ядра, написанными на ANSI C. Именно при устранении этой проблемы он понял, что «в C99 итератор, передаваемый в список макросов обхода, должен быть объявлен в области вне области видимости. сама петля.
Именно из этого наблюдения вытекает его недавнее решение обновить ядро Linux до C11, стандартизация которого была завершена в 2011 г. Это своего рода технические причины, которые могут оправдать отказ от языка C в пользу Rust в течение длительного времени, в дополнение к основному сроку разработки.
Поддержка Разработка ядра Rust для Linux продолжается и считается «важным шагом». чтобы иметь возможность писать контроллеры на более безопасном языке». Язык Rust, разработанный Mozilla Research, — это тип языка программирования, используемый теми, кто пишет код для базовых систем ввода-вывода (BIOS), диспетчеров загрузки, операционных систем и т. д. иметь интерес
По мнению некоторых экспертов-наблюдателей, это будущее системного программирования, а не языка C. На самом деле эксперты считают, что он предлагает лучшие гарантии безопасности программного обеспечения, чем пара C/C++. Например, в AWS, мировом лидере в области облачных вычислений, указано, что выбор Rust для ваших проектов разработки означает добавление энергоэффективности и производительности выполнения C к преимуществам безопасности.
В конце концов если вам интересно узнать об этом больше, вы можете ознакомиться со списками рассылки в по следующей ссылке.
Какие хорошие новости. Это то, что было замечено. Тем более, что ржавчина набирает большую силу. Лично меня программирование на Rust увлекает, и я скоро стану профессионалом в Rust.