Десятая версия патчей для ядра Linux с поддержкой языка Rust

Автор Сообщение
news_bot ®

Стаж: 6 лет 1 месяц
Сообщений: 27286

Создавать темы news_bot ® написал(а)
28-Сен-2022 09:49

Мигель Охеда (Miguel Ojeda), автор проекта Rust-for-Linux, [url=https://lore.kernel.org/lkml/20220927131518.30000-1-ojeda@kernel.org/
]предложил[/url]
для рассмотрения разработчиками ядра Linux выпуск v10 компонентов для разработки драйверов устройств на языке Rust. Это одиннадцатая редакция патчей с учётом первого варианта, опубликованного без номера версии. Включение поддержки Rust одобрено Линусум Торвальдсом для включения в состав ядра Linux 6.1, если не всплывут непредвиденные проблемы. Разработка финансируется компанией Google и организацией ISRG (Internet Security Research Group), которая является учредителем проекта Let's Encrypt и способствует продвижению HTTPS и развитию технологий для повышения защищённости интернета.
Как и прошлый вариант патчей выпуск v10 урезан до самого необходимого минимума, достаточного для сборки простого модуля ядра, написанного на языке Rust. Отличия от прошлой версии сводятся к мелким правкам, замене sizeof на ARRAY_SIZE в kallsyms.c и адаптации патчей к ядру v6.0-rc7. Предполагается, что минимальный патч, размер которого сокращён с с 40 до 13 тысяч строк кода, упростит принятие поддержки Rust в основной состав ядра. После обеспечения минимальной поддержи планируется постепенно наращивать имеющуюся функциональность, перенося и другие изменения из ветки Rust-for-Linux.
Предложенные изменения дают возможность использовать Rust в качестве второго языка для разработки драйверов и модулей ядра. Поддержка Rust преподносится как опция, не активная по умолчанию и не приводящая к включению Rust в число обязательных сборочных зависимостей к ядру. Использование Rust для разработки драйверов позволит с минимальными усилиями создавать безопасные и более качественные драйверы, избавленные от таких проблем как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.
Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами и учёт времени жизни объектов (области видимости), а также через оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_rust, #_linux, #_kernel
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 29-Мар 16:45
Часовой пояс: UTC + 5