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
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…