Лінус Торвальдс не виключив можливості інтеграції підтримки Rust у ядро ​​Linux 5.20

На конференції Open-Source Summit 2022, що проходить у ці дні, в секції відповідей на питання Лінус Торвальдс згадав про можливість швидкої інтеграції в ядро ​​Linux компонентів для розробки драйверів пристроїв на мові Rust. Не виключається, що патчі з підтримкою Rust будуть прийняті у найближчому вікні прийому змін, що формує склад ядра 5.20, наміченого на кінець вересня.

Запит на включення змін у ядро ​​ще не був відправлений Торвальдсу, але набір патчів пройшов додаткове рецензування, позбавлений основних зауважень, вже досить давно тестується у гілці linux-next і доведений до стану, придатного для створення шарів абстракції над підсистемами ядра, написання драйверів та модулів. Підтримка Rust подається як опція, не активна за замовчуванням і не призводить до включення Rust до обов'язкових складальних залежностей до ядра.

Запропоновані зміни дають можливість використовувати Rust як другу мову для розробки драйверів та модулів ядра. Використання Rust для розробки драйверів дозволить з мінімальними зусиллями створювати безпечні та якісніші драйвери, позбавлені таких проблем як звернення до області пам'яті після її звільнення, розіменування нульових покажчиків та вихід за межі буфера.

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

Джерело: opennet.ru

Додати коментар або відгук