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