В докладе создателя ядра 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
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…