Не исключена возможность интеграции поддержки Rust в ядро ​​Linux 5.20

На конференции Open-Source Summit 2022 продолжается в эти дни, в разделе часто задаваемых вопросов Линус Торвальдс упомянул о возможности ранней интеграции в ядре Linux компонентов для разработки Драйверы устройств в Rust.

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

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

Среди известных проектов, интересующихся ржавчиной с прошлого года, можно выделить, например, Android, так как он интересовался Ржавчина потому что это позволяет достичь производительности, близкой к языкам C и C++, что позволяет использовать его для разработки низкоуровневых частей платформы и компонентов для взаимодействия с оборудованием.

Чтобы обеспечить безопасность кода C и C ++, Android использует изоляцию песочницы, статический анализ и тесты фаззинга. Возможности изоляции песочницы ограничены и достигли предела своих возможностей (дальнейшая фрагментация процессов нецелесообразна с точки зрения потребления ресурсов).

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

Теме статьи:
Rust уже стал фаворитом для разработки под Android

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

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

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

Линус Торвальдс
Теме статьи:
Rust не избежал критики Линуса Торвальдса

Но прошло несколько месяцев с тех пор, как Линус оставил свой отзыв, и была проделана большая работа по улучшению реализации. Как таковой, запрос на вытягивание ядра в настоящее время еще не отправлен Торвальдсу, но набор патчей был дополнительно переработан, ключевые заметки удалены, протестированы на ветке linux-next в течение достаточно долгого времени и доведены до состояния, пригодного для построения слоев абстракции поверх подсистем ядра, написания драйверов и модулей.

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

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

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


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

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

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

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

*

*

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