Вышла десятая версия Rust для Linux, готовая к включению в Linux 6.1.

Драйверы ржавчины в Linux

Теперь Rust готов присоединиться к C в качестве практичного языка для реализации в Linux.

Несколько недель назад мы поделились здесь, в блоге, новостями о подтверждении, сделанном во время европейского саммита по открытым исходным кодам., объявленный Линусом Торвальдсом что, за исключением непредвиденных проблем, си будет включать исправления для поддержки разработки драйвера Rust в ядре Linux 6.1, который, как ожидается, будет выпущен в декабре.

Причина его упоминания в том, что Мигель Охеда, автор проекта Rust-for-Linux, объявил недавно запуск десятое предложение компонентов для разработки Драйверы устройств ржавчины для разработчиков ядра Linux.

Таким образом, это одиннадцатое издание исправлений с учетом первой выпущенной версии (без номера версии). Линус Торвальдс одобрил включение поддержки Rust в ядро ​​Linux 6.1, если не возникнут непредвиденные проблемы.

Драйверы ржавчины в Linux
Теме статьи:
Торвальдс объявил, что Rust будет принят в Linux 6.1

Стоит отметить, что разработка финансируется Google и ISRG (Internet Security Research Group), которая является основателем проекта Let’s Encrypt и продвигает HTTPS и разработку технологий для повышения интернет-безопасности.

некоторые преимуществ получения поддержки Rust в ядре упрощают написание контроллеров защищенных устройств за счет снижения вероятности ошибок памяти и поощряйте новых разработчиков к участию в ядре.

«Ржавчина — это одна из тех вещей, которые, я думаю, принесут новые лица… мы стареем и сереем», — сказал Линус.

Примечания к выпуску для Linux 6.0 предоставляет обновленную информацию о ходе проекта Rust для Linux: существует соответствующая рабочая группа, доступен предварительный драйвер для носителя данных NVMe, разработанный с использованием этого языка, а также драйвер для сервера, предназначенного для сетевого протокола 9P.

Воспользовавшись упоминанием о версии ядра 6.1 Линус также объявил, что версия ядра 6.1 улучшит некоторые старые части. и основы ядра, такие как функция printk().

Что касается этого нового предложения по патчам для Rust, а также последней версии патчей, десятая версия урезана до минимума, достаточного для сборки простого модуля ядра, написанного на Rust.

Отличия от предыдущей версии сводятся к незначительным исправлениям, замена sizeof на ARRAY_SIZE в kallsyms.c и перенос патчей на ядро ​​v6.0-rc7.

Поддержка Rust по-прежнему должна считаться экспериментальной. Тем не менее,
Поддержка достаточно хороша, чтобы разработчики ядра могли начать над ней работать.

Ожидается, что минимальный патч, который был сокращен с 40 000 строк кода до 13 000 строк кода,, упростите внедрение поддержки Rust в ядро. После оказания минимальной поддержки планируется постепенно наращивать существующий функционал, портируя другие изменения из ветки Rust-for-Linux.

Предлагаемые изменения позволяют использовать Rust в качестве второго языка для разработки драйверов и модулей ядра. Поддержка Rust представлена ​​как опция, которая не включена по умолчанию и не приводит к включению Rust в число необходимых зависимостей сборки для ядра.

Использование Rust для разработки драйверов позволит вам создавать более качественные и безопасные драйверы с минимальными усилиями, без проблем, таких как доступ к области памяти после ее освобождения, разыменование нулевых указателей и переполнение буфера.

В Rust реализована безопасная обработка памяти. во время компиляции, проверяя ссылки, отслеживая владение объектом и время жизни объекта (область действия), а также оценивая правильность доступа к памяти во время выполнения кода.

ржавчина тоже обеспечивает целочисленную защиту от переполнения, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемых переменных и ссылок по умолчанию, предлагает строгую статическую типизацию для минимизации логических ошибок.

В конце концов если вам интересно узнать об этом больше о заметке вы можете проконсультироваться в списках рассылки по этому вопросу, По следующей ссылке.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.