Către ramura kernel Linux-adăugat cod pentru dezvoltarea driverelor în Rust

Ramura linux-next, care va fi baza lansării kernelului Linux Versiunea 5.13 include un kit de început pentru dezvoltarea de drivere de dispozitiv în limbajul Rust. Documentația pentru utilizarea Rust în kernel a fost publicată separat. Linux și un exemplu de modul kernel cu un driver de dispozitiv pentru caractere scris în Rust. Codul a fost contribuit de Stephen Rothwell, administratorul ramurii. Linux-următorul. De obicei, o ramură Linux`-next` include cod gata de acceptat în următorul ciclu de commit al kernelului, dar nu este încă clar dacă Linus Torvalds va accepta suportul pentru Rust în kernel. Linux 5.13, deoarece codul nu a fost revizuit de un cerc larg de dezvoltatori.

Suport pentru dezvoltarea driverelor de kernel Linux Ideea din limbajul Rust a fost discutată activ anul trecut, inclusiv de Linus Torvalds, care nu a exclus această posibilitate. Ideea a fost susținută și de Greg Kroah-Hartman, care se ocupă de ramura stabilă a kernelului. LinuxUtilizarea Rust pentru dezvoltarea de drivere vă va permite să creați drivere mai sigure și de calitate superioară cu efort minim, fără probleme precum access-after-free, dereferențieri la pointeri nuli și depășiri ale bufferului.

Pentru a activa suportul Rust în ramura linux-next, opțiunea CONFIG_RUST a fost adăugată la KConfig („Suport Rust” în meniul „Configurare generală”), când este activată, verifică prezența compilatorului rustc în sistem și, dacă este prezent, face posibilă activarea altor componente legate de Rugina (de exemplu, secțiunea „Hacking Rust” apare în meniul „Kernel Hacking”). Folosirea Rust este considerată o opțiune care nu este activată în mod implicit și nu are ca rezultat includerea Rust ca dependență de construcție necesară de kernel.

Construirea componentelor nucleului în Rust este posibilă atât atunci când utilizați GCC, cât și când construiți folosind Clang. Pentru a utiliza Rust în nucleu, trebuie să instalați versiuni proaspete de noapte ale compilatorului rustc, nu mai vechi decât ramura nightly-2021-02-20 (dacă este posibil, ei promit să adauge suport pentru ramurile stabile Rust, dar deocamdată există un link către unele caracteristici experimentale). Sistemul necesită, de asemenea, bibliotecile standard Rust, furnizate în pachetul rust-src, și generatorul de legare Bindgen. Asistența este în prezent limitată la platformele x86_64 și ARM64.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster