Підтримка Rust ядром Linux розширюється

2 хв. читання

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

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

Ми продовжуватимемо випускати оновлення, поки не позбудемося залежності від будь-яких нестабільних функцій

Роботу над підтримкою Rust у Linux та іншими функціями безпеки оплачує компанія Google через ISRG (Internet Security Research Group, відоміша під назвою Let's Encrypt). Хоча безпека й не єдина причина додавання Rust у ядро Linux, основною метою проєкту вважається поліпшення безпеки. Як пояснив виконавчий директор ISRG, «уможлививши написання частини ядра Linux мовою Rust, яка безпечна для роботи з пам'яттю, ми можемо повністю усунути небезпеку роботи з пам'яттю з деяких компонентів, наприклад, з драйверів.»

Також додано абстракції для різних функцій ядра.

Керівник проєкту зазначив, що Red Hat повідомила про підтримку проєкту, заявивши, що «Red Hat має зацікавленість у використанні Rust для роботи з ядром».

Схожі наміри також декларують Microsoft, Arm і, звісно, Google. Заява Red Hat спокійніша в порівнянні, наприклад, з Arm, яка каже, що «прихильники Rust з Arm із надією спостерігають за ініціативою Rust for Linux і мають нестримне бажання допомогти в цій роботі».

Однак заява Red Hat важлива, особливо з огляду на широке використання Red Hat Enterprise Linux і похідних.

GCC (GNU Compiler Collection), бекенд компілятора rustc_codegen_gcc, було об'єднано з Rust, що є кроком до можливості компіляції Rust за допомогою GCC.

Заявлена перевага — «можливість компілювати код Rust на платформах, які не підтримуються LLVM. Додаткова мета — перевірити, чи сприятиме використання бекенду gcc бодай якомусь пришвидшенню виконання програм, скомпільованих за допомогою rustc».

Розробник проєкту сказав, що експериментальна компіляція «частини ядра на Rust» за допомогою GCC повинна з'явитися незабаром. Однак основний компілятор для Rust для ядра є LLVM через rustc_codegen_llvm.

Також він розповів, що «підтримку Rust досі слід вважати експериментальною. Але підтримка достатньо хороша, щоб розробники ядра могли почати працювати з абстракціями Rust для підсистем і писати драйвери та інші модулі».

Документацію можна почитати ось тут. Ще автор проєкту пообіцяв розпочати затвердження виправлень для ядра «приблизно що два тижні» для прискорення розвитку.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 5.8K
Приєднався: 8 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація