Do grane kernela Linux-sljedeći dodan kod za razvoj upravljačkih programa u Rustu

linux-next grana, koja će biti osnova za izdanje kernela Linux Verzija 5.13 uključuje početni paket za razvoj upravljačkih programa uređaja u Rustu. Dokumentacija za korištenje Rusta u kernelu objavljena je zasebno. Linux i primjer kernel modula s upravljačkim programom za znakovni uređaj napisan u Rustu. Kod je doprinio Stephen Rothwell, održavatelj grane. Linux-sljedeći. Obično grana Linux-next uključuje kod koji je spreman za prihvaćanje u sljedeći ciklus commit-a kernela, ali još nije jasno hoće li Linus Torvalds prihvatiti Rustovu podršku u kernel. Linux 5.13, budući da kod nije pregledao širok krug programera.

Podrška za razvoj upravljačkih programa kernela Linux u Rust jeziku aktivno se raspravljalo prošle godine, uključujući i Linusa Torvaldsa, koji nije isključio tu mogućnost. Ideju je podržao i Greg Kroah-Hartman, koji održava stabilnu granu kernela. LinuxKorištenje Rusta za razvoj upravljačkih programa omogućit će vam stvaranje sigurnijih, kvalitetnijih upravljačkih programa uz minimalan napor, bez problema poput pristupa nakon oslobađanja, dereferenciranja nultog pokazivača i prekoračenja međuspremnika.

Kako bi se omogućila podrška za Rust u grani linux-next, u KConfig je dodana opcija CONFIG_RUST ("Podrška za Rust" u izborniku "Općenito postavljanje"). Kada je omogućena, ova opcija provjerava rustc kompajler u sustavu i, ako je prisutan, omogućuje druge komponente povezane s Rustom (na primjer, odjeljak "Hakiranje Rusta" pojavljuje se u izborniku "Hakiranje jezgre"). Korištenje Rusta smatra se opcijom koja nije omogućena prema zadanim postavkama i ne uključuje Rust kao potrebnu ovisnost za izgradnju jezgre.

Izgradnja Rust kernel komponenti moguća je i s GCC-om i s Clangom. Korištenje Rusta u kernelu zahtijeva instaliranje najnovijih noćnih verzija rustc kompajlera, ne starijih od grane nightly-2021-02-20 (podrška za stabilne Rust grane je obećana kada je to moguće, ali za sada je vezana uz neke eksperimentalne značajke). Sustav također zahtijeva standardne Rust biblioteke, isporučene u rust-src paketu, i generator vezanja bindgen. Podrška je trenutno ograničena na platforme x86_64 i ARM64.

Izvor: opennet.ru

Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster