Лінус Торвальдс висловився щодо впровадження Rust у Linux — на користувачів нових версій можуть чекати сюрпризи
У доповіді творця ядра Linux та системи управління версіями Git Лінуса Торвальдса на Open Source Summit та у «Звіті про ядро» Джонатана Корбета обговорювалися зусилля щодо впровадження модулів Rust у Linux.
Про це повідомляє The Register.
Наступною версією ядра буде 6.0, але, як завжди, зміна основного номера версії не означає серйозних технічних змін.
Торвальдс визнав, що було б непогано викотити функцію на кшталт «тепер ви можете розробляти драйвери в Rust», але це, швидше за все, не відбудеться раніше за ядро 6.1.
Поки що є робоча група і представлений попередній патч. Також новою мовою реалізовано два попередні драйвери, які докладно обговорюються на LWN: драйвер для NVMe і вбудований в ядро сервер для мережевого протоколу 9P з операційної системи Plan 9.
Але проблеми не зникають. Досить велика перешкода — компілятори: зараз ядро зазвичай компілюється за допомогою GCC, GNU Compiler Collection, а Rust зазвичай компілюється за допомогою конкуруючого LLVM.
Ядро можна зібрати за допомогою компілятора LLVM C, Clang і цей процес описаний в документації. Саме таким чином Android, ChromeOS та OpenMandriva компілюють свої ядра. Але при збиранні ядра за допомогою Clang існує одна велика проблема — підтримка архітектури центрального процесора. Таким чином добре підтримуються тільки x86 та Arm, а інші архітектури ще не такі надійні.
Зворотний бік компіляції ядра за допомогою Clang — це компіляція Rust за допомогою GCC. Існує експериментальний зовнішній інтерфейс компілятора Rust-on-GCC, хоча на сторінці проєкту зазначається, що «компілятор знаходиться на дуже ранній стадії і ще не може використовуватися для компіляції реальних програм на Rust». Також, що цей проєкт було створено зусиллями спільноти кілька років тому, коли Rust був ще у версії 0.9.
Розробник Мігель Охеда написав про причини цих зусиль і виступив із доповіддю про оновлення статусу на Linux Plumbers Conference, яка збігалася із Open Source Summit. У його слайдах докладно описані потенційні покращення стабільності за рахунок значно покращеної безпеки пам’яті в Rust порівняно з C.
У ядрі вже є працюючий драйвер NVMe, тому новий драйвер призначений для досліджень, як описав розробник Андреас Хіндборг у своєму виступі, що послідував за презентацією Охеди.
Читайте також: Лінус Торвальдс: впровадження Rust в ядро має сенс — мова може стати другою офіційною в Linux
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: