V jedru Linux-next je dodan koda za razvoj gonilnikov v jeziku Rust

V sklopu veje linux-next, na podlagi katere bo oblikovana izdaja jedra Linux 5.13, je vključena začetna izbira komponent za razvoj gonilnikov naprav v jeziku Rust. Ločeno je bila objavljena dokumentacija o uporabi Rust v jedru Linux in primer jedrskega modula z gonilnikom simbola naprave v jeziku Rust. Koda je dodal Stephen Rothwell, vzdrževalec veje Linux-next. Običajno veja Linux-next vključuje kodo, pripravljeno za sprejetje v naslednjem ciklu sprejemanja sprememb v jedro, vendar za zdaj ni jasno, ali bo podpora za Rust sprejeta s strani Linusa Torvaldsa v okviru Linux 5.13, saj koda še ni bila pregledana s strani širšega kroga razvijalcev.

Podpora za razvoj gonilnikov jedra Linux v jeziku Rust je bila aktivno obravnavana lani, vključno z vključitvijo Linusa Torvaldsa, ki te možnosti ni izključil. Idejo je prav tako podprl Greg Kroah-Hartman, odgovoren za podporo stabilnih veja jedra Linux. Uporaba Rusta za razvoj gonilnikov bo omogočila ustvarjanje varnih in kvalitetnejših gonilnikov z minimalnim trudom ter odpravo težav, kot so dostop do pomnilnika po njegovi sprostitvi, dereferenciranje ničelnih kazalcev in prekoračitve meje pomnilnika.

Za aktiviranje podpore za Rust v veji linux-next je bila v KConfig dodana možnost CONFIG_RUST (»Rust support« v meniju »General setup«), pri čemer se ob vključitvi preveri prisotnost prevajalnika rustc v sistemu, in ob njegovi prisotnosti omogoči vključitev drugih komponent, vezanih na Rust (na primer, v meniju »Kernel hacking« se pojavi sekcija »Rust hacking«). Uporaba Rusta se obravnava kot možnost, ki ni aktivna privzeto in ne vodi do vključitve Rusta med obvezne odvisnosti pri gradnji jedra.

Gradnja jedrnih komponent na Rustu je mogoča tako z uporabo GCC kot tudi s pomočjo Clanga. Za uporabo Rust-a v jedru je potrebno namestiti sveže nočne različice prevajalnika rustc, ki niso starejše od veje nightly-2021-02-20 (obljubljajo, da bodo dodali podporo stabilnim vejam Rust-a, vendar je trenutno vezana na nekatere eksperimentalne možnosti). Prav tako mora sistem imeti standardne Rust knjižnice, ki jih zagotavlja paket rust-src, in generator vezav bindgen. Podpora je zaenkrat omejena na platformi x86_64 in ARM64.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster