Druga verzija zakrpa za podršku Rust upravljačkom programu na Linuxu je već isporučena

U martu ove godine na linux-next grani koji je u to vrijeme radio za Linux kernel 5.13, Uključen je početni skup komponenata za razvoj upravljačkih programa uređaja u jezik Rust i sada je postavljen zahtjev za uključivanje drugog izdanja zakrpa za dodavanje Rust podrške Linux jezgri.

Osoba koja je zahtjev poslala programerima Linuxa je Miguel Ojeda, autor projekta Rust-for-Linux i o kojem smo također razgovarali prije nekoliko dana, budući da je angažiran da preuzme odgovornost za projekt "Prossimo" koji je u osnovi fokusira se na koordinaciju napora da se kritična softverska infrastruktura premjesti na zaštićeni kod za zaštitu Linux memorije jezgre pomoću Rusta (ako želite znati više o projektu, možete se posavjetovati objavljivanje na donjem linku.)

Rust drajveri na Linuxu
Vezani članak:
Prossimo, ISRG projekt za osiguravanje Linux memorije jezgre s Rustom

Zahtjev koji je poslao Miguel Ojeda druga je ažurirana verzija komponenata za razvoj upravljačkih programa uređaja na jeziku Rust i u kojima se brišu komentari dani tijekom rasprave o prvoj verziji zakrpa i na koje se Linus Torvalds već pridružio raspravi te predložio promjenu logike za obradu nekih bitnih operacija.

Unutar prednosti koji su spomenuti su to u Rustu je zagarantovano sigurno upravljanje memorijom u vrijeme kompajliranja provjerom referenci, praćenjem vlasništva nad objektom i vijekom trajanja objekta, kao i procjenom ispravnosti pristupa memoriji u vrijeme izvođenja.

Rust takođe pruža zaštita od preljeva cijelog broja, zahtijeva obveznu inicijalizaciju vrijednosti varijabli prije upotrebe, bolje obrađuje pogreške u standardnoj biblioteci, po defaultu usvaja koncept referenci i nepromjenjivih varijabli i nudi snažno statičko pisanje kako bi se minimizirale logičke pogreške.

Od promena koje se ističu ove nove verzije zakrpa se spominje:

  • Kôd za dodjelu memorije sprječava mogućnost stvaranja panike kada se pojave pogreške poput nestanka memorije.
  • Uključen je varijanta Rust alloc biblioteke, u kojoj je kôd prerađen da bi obradio brave, ali krajnji cilj je dovesti sve potrebne značajke za kernel u glavno izdanje aloca (promjene su već pripremljene i prenesene u standardnu ​​Rust knjižnicu).
  • Umjesto noćnih izrada, sada se mogu koristiti beta i stabilne verzije kompajler rustc za kompajliranje jezgre s omogućenom Rustom. Trenutno se rustc 1.54-beta1 koristi kao referentni kompajler, ali nakon izdanja 1.54 krajem mjeseca, bit će podržan kao referentni kompajler.
  • Dodana podrška za pisanje testova pomoću standardnog Rust atributa "# [test]" i mogućnost korištenja doctestova za korištenje uzorka koda iz dokumentacije kao testova.
  • Podrška za ARM32 i RISCV arhitekture dodana je uz prethodno podržane x86_64 i ARM64.
    Poboljšane GCC implementacije Rust (GCC sučelje za Rust) i rustc_codegen_gcc (rustc pozadina za GCC), koji sada prolazi sve kriterije.
  • A novi nivo apstrakcije za programe Rust da koriste mehanizme jezgre napisane na jeziku C, poput drveća, objekata za brojanje referenci, stvaranje deskriptora datoteka, zadataka, datoteka i I / O vektora.
  • Komponente za razvoj upravljačkih programa poboljšale su podršku za modul "file_operations", makronaredbu "module!", Evidentiranje makronaredbi i osnovne upravljačke programe (sondiranje i brisanje).
  • Binder ima podršku za prosljeđivanje deskriptora datoteka i LSM veza.
  • Funkcionalniji primjer Rust upravljačkog programa, bcm2835-rng, predložen je za hardverski generator slučajnih brojeva za Raspberry Pi ploče.

Konačno, ako ste zainteresirani da saznate više o tome, možete potražiti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.