The penguin emblem of free software, Tux, on ice cubes with multicolored stars in the background
У доповіді творця ядра 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
IT-галузь на порозі масштабної кризи і її першими жертвами стануть junior-фахівці. Однією з причин цього…
Кластер Brave1 продовжив прийняття заявок на конкурс Battle Proven — тепер податися можна до 25 липня 2025 року. Про це…
Експериментальна модель OpenAI досягла рівня золотої медалі на Міжнародній математичній олімпіаді (IMO), вирішивши п'ять із…
Компанія JetBrains повідомила, що всі програмні продукти серії IntelliJ IDEA відтепер переходять на єдиний уніфікований…
Команда реагування на комп'ютерні надзвичайні ситуації України (CERT-UA) розкрила деталі фішингової кампанії, спрямованої на поширення…
Платформа Hugging Face представляє AnyCoder — середовище для розробки веб-додатків з відкритим кодом. Новий інструмент,…