Prije nekoliko tjedana podijelili smo ovdje na blogu vijest o potvrdi koja je napravljena tijekom Open Source Summita Europe, objavio je Linus Torvalds da, osim nepredviđenih problema, si uključivat će zakrpe za podršku razvoju Rust upravljačkog programa u jezgri Linuxa 6.1, koji se očekuje u prosincu.
Razlog spominjanja je taj Miguel Ojeda, autor projekta Rust-for-Linux, objavio je nedavno pokretanje deseti prijedlog sastavnica za razvoj Rust upravljački programi za programere Linux kernela koje treba uzeti u obzir.
Kao takvo, ovo je jedanaesto izdanje zakrpa, uzimajući u obzir prvu izdanu verziju (bez broja verzije). Linus Torvalds odobrio je uključivanje podrške za Rust u jezgru Linuxa 6.1, osim nepredviđenih problema.
Vrijedi spomenuti da razvoj financiraju Google i ISRG (Internet Security Research Group) koji je osnivač projekta Let's Encrypt te promovira HTTPS i razvoj tehnologija za povećanje internetske sigurnosti.
neki o prednostima dobivanja podrške za Rust u kernelu olakšavaju pisanje kontrolera sigurnih uređaja smanjenjem mogućnosti grešaka u pamćenju i potaknite nove programere da se uključe u kernel.
"Rust je jedna od onih stvari za koje mislim da će donijeti nova lica... starimo i sijedimo", rekao je Linus.
Bilješke o izdanju za Linux 6.0 pruža ažuriranje o napretku projekta Rust za Linux: postoji povezana radna grupa, dostupan je preliminarni upravljački program za NVMe medij za pohranu razvijen s tim jezikom, kao i upravljački program za poslužitelj namijenjen za 9P mrežni protokol.
Iskoristivši spominjanje verzije kernela 6.1 Linus je također najavio da će verzija 6.1 kernela poboljšati neke od starijih dijelova i osnove jezgre, kao što je funkcija printk().
Što se tiče ovog novog prijedloga za Rust zakrpe, kao i najnovije verzije zakrpa, deseta verzija je svedena na minimum, dovoljan za izgradnju jednostavnog kernel modula napisanog u Rustu.
Razlike u odnosu na prethodnu verziju svode se na manje ispravke, zamjena sizeof s ARRAY_SIZE u kallsyms.c i prijenos zakrpa na kernel v6.0-rc7.
Podršku za hrđu i dalje treba smatrati eksperimentalnom. Štoviše,
Podrška je dovoljno dobra da programeri kernela mogu početi raditi na njoj.
Očekuje se da minimalna zakrpa, koja je smanjena s 40 000 redaka koda na 13 000 redaka koda,, olakšavaju usvajanje podrške za Rust u jezgri. Nakon pružanja minimalne podrške, planira se postupno povećavati postojeću funkcionalnost, prenoseći druge promjene iz grane Rust-for-Linux.
Predložene promjene omogućuju korištenje Rusta kao drugog jezika za razvoj upravljačkih programa i modula kernela. Podrška za Rust predstavljena je kao opcija koja nije omogućena prema zadanim postavkama i ne rezultira uključivanjem Rusta među potrebne ovisnosti o izgradnji za kernel.
Korištenje Rusta za razvoj upravljačkih programa omogućit će vam stvaranje boljih i sigurnijih upravljačkih programa uz minimalan napor, bez problema kao što je pristup memorijskom području nakon što ga oslobodite, dereferenciranje nul pokazivača i prelijevanja međuspremnika.
Sigurno rukovanje memorijom omogućeno je u Rustu u vrijeme kompajliranja provjerom referenci, praćenjem vlasništva objekta i životnog vijeka objekta (opseg), kao i procjenom ispravnosti pristupa memoriji tijekom izvođenja koda.
hrđa također pruža zaštitu od prekoračenja cijelog broja, zahtijeva obaveznu inicijalizaciju vrijednosti varijabli prije upotrebe, bolje obrađuje pogreške u standardnoj biblioteci, primjenjuje koncept nepromjenjivih varijabli i referenci prema zadanim postavkama, nudi snažno statično tipkanje za smanjenje logičkih pogrešaka.
Konačno ako vas zanima više o tome o bilješci, možete konzultirati mailing liste na temu, U sljedećem linku.