Deseta verzija zakrpa za Linux jezgru s podrškom za jezik Rust

Miguel Ojeda, autor projekta Rust-for-Linux, predložio je razmatranje verzije v10 komponenti za razvoj upravljačkih programa za uređaje na jeziku Rust od strane programera Linux jezgra. Ovo je jedanaesta izmjena zakrpa, uzimajući u obzir prvu verziju objavljenu bez broja verzije. Uključivanje podrške za Rust odobrio je Linus Torvalds za uključivanje u Linux jezgro 6.1, pod uvjetom da se ne pojave nepredviđeni problemi. Razvoj financira kompanija Google i organizacija ISRG (Internet Security Research Group), koja je osnivač projekta Let’s Encrypt i doprinosi promoviranju HTTPS-a i razvoju tehnologija za poboljšanje sigurnosti interneta.

Kao i prošla verzija zakrpa, izdanje v10 svedeno je na najmanji mogući minimum potreban za izradu jednostavnog modula jezgra napisanog na jeziku Rust. Razlike od prethodne verzije svode se na sitne ispravke, zamjenu sizeof s ARRAY_SIZE u kallsyms.c i prilagodbu zakrpa jezgru v6.0-rc7. Predviđa se da će minimalna zakrpana verzija, čija je veličina smanjena s 40 na 13 tisuća redaka koda, olakšati prihvaćanje podrške za Rust u glavni sastav jezgra. Nakon osiguravanja minimalne podrške planira se postupno povećavanje postojeće funkcionalnosti, prenoseći i druge izmjene iz grane Rust-for-Linux.

Predložene promjene omogućuju korištenje Rusta kao drugog jezika za razvijanje upravljačkih programa i modula jezgre. Podrška za Rust je predstavljena kao opcija koja nije aktivna po zadanim postavkama i ne dovodi do uključivanja Rusta među obavezne zavisnosti za izgradnju jezgre. Korištenje Rusta za razvoj upravljačkih programa omogućit će stvaranje sigurnih i kvalitetnijih upravljačkih programa uz minimalni trud, oslobađajući ih od problema poput pristupa memoriji nakon što je oslobođena, dereferenciranja nul pokazivača i izlaska iz granica bafera.

Siguran rad s memorijom osigurava se u Rust-u tijekom kompajlacije putem provjere referenci, praćenja vlasništva nad objektima i uzimanja u obzir vremena života objekata (opseg vidljivosti), kao i procjenom ispravnosti pristupa memoriji tijekom izvođenja koda. Rust također pruža alate za zaštitu od prelivanja cijelih brojeva, zahtijeva obveznu inicijalizaciju vrijednosti varijabli prije upotrebe, bolje obrađuje greške u standardnoj biblioteci, primjenjuje koncept nepromjenjivosti (immutable) referenci i varijabli prema zadanim postavkama te nudi snažnu statičku tipizaciju za minimiziranje logičkih grešaka.

Izvor: opennet.ru

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