Към клона на ядрото Linux-следващо добавен код за разработка на драйвери в Rust

Клонът linux-next, който ще бъде основата за издаването на ядрото Linux Версия 5.13 включва стартов комплект за разработване на драйвери за устройства в Rust. Документацията за използване на Rust в ядрото е публикувана отделно. Linux и примерен модул на ядрото с драйвер за символно устройство, написан на Rust. Кодът е предоставен от Стивън Ротвел, поддържащият клона. Linux-следващ. Обикновено клон Linux-next включва код, който е готов да бъде приет в следващия цикъл на коммит на ядрото, но все още не е ясно дали поддръжката на Rust ще бъде приета в ядрото от Линус Торвалдс. Linux 5.13, тъй като кодът не е прегледан от широк кръг разработчици.

Поддръжка за разработване на драйвери за ядрото Linux в езика Rust беше активно обсъждана миналата година, включително от Линус Торвалдс, който не изключи тази възможност. Идеята беше подкрепена и от Грег Кроа-Хартман, който поддържа стабилния клон на ядрото. LinuxИзползването на Rust за разработване на драйвери ще ви позволи да създавате по-безопасни и по-качествени драйвери с минимални усилия, без проблеми като достъп след освобождаване, дереференции на нулеви указатели и препълване на буфера.

За да активирате поддръжката на Rust в клона linux-next, опцията CONFIG_RUST е добавена към KConfig („Поддръжка на Rust“ в менюто „Общи настройки“), когато е активирана, тя проверява за наличието на компилатора rustc в системата и, ако е налице, дава възможност за активиране на други компоненти, свързани с Rust (например разделът „Rust hacking“ се появява в менюто „Kernel hacking“). Използването на Rust се счита за опция, която не е активирана по подразбиране и не води до включването на Rust като задължителна зависимост за изграждане на ядрото.

Изграждането на компоненти на ядрото в Rust е възможно както при използване на GCC, така и при изграждане с помощта на Clang. За да използвате Rust в ядрото, трябва да инсталирате свежи нощни компилации на компилатора rustc, не по-стари от клона nightly-2021-02-20 (ако е възможно, обещават да добавят поддръжка за стабилни клонове на Rust, но засега има връзка към някои експериментални функции). Системата също така изисква стандартните библиотеки на Rust, доставени в пакета rust-src, и генератора за свързване bindgen. Понастоящем поддръжката е ограничена до платформи x86_64 и ARM64.

Източник: opennet.ru

Купете надежден хостинг за сайтове с DDoS защита, VPS VDS сървъри 🔥 Купете надежден уеб хостинг със защита от DDoS атаки, VPS VDS сървъри | ProHoster