Вышла десятая версия 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.