Objavljena je četvrta verzija zakrpa za podršku Rust drajvera na Linuxu

Miguel Ojeda, autor projekta Rust-for-Linux, Teme je nedavno predstavio četvrti prijedlog za komponente drajvera uređaja Rust za programere Linux kernela koje treba uzeti u obzir.

Podrška hrđe se smatra eksperimentalnom, ali je već dogovoreno da bude uključen u linux-next granu i dovoljno je zreo da počne da radi na slojevima apstrakcije na vrhu podsistema kernela, kao i da piše drajvere i module. Razvoj finansiraju Google i ISRG (Internet Security Research Group), koji je osnivač projekta Let's Encrypt i promoviše HTTPS i razvoj tehnologija za povećanje internet sigurnosti.

Za one koji još uvijek nisu upoznati sa predloženim promjenama, trebaju znati da one to omogućavaju upotreba Rusta kao drugog jezika za razvoj kontrolera i modula kernela. Podrška za Rust je predstavljena kao opcija koja nije omogućena prema zadanim postavkama i ne dovodi do toga da Rust bude uključen među potrebne ovisnosti izgradnje za kernel.

Korištenje Rusta za razvoj drajvera će vam omogućiti da kreirate bolje i sigurnije drajvere uz minimalan napor, bez problema kao što je pristup memorijskom području nakon što ga oslobodite, dereferenciranje nul pokazivača i prelivanja bafera.

Sigurnost memorije je obezbeđena u Rustu u vreme kompajliranja proverom referenci, praćenjem vlasništva nad objektom i životnog veka objekta (opsega), kao i procenom ispravnosti pristupa memoriji tokom izvršavanja koda.

Rust takođe obezbeđuje zaštitu od prelivanja celog broja, zahteva da se varijable inicijalizuju pre upotrebe, bolje rukuje greškama u standardnoj biblioteci, primenjuje koncept nepromenljivih varijabli i referenci prema podrazumevanim postavkama, i nudi snažno statičko kucanje kako bi se minimizirale logičke greške. .

Koje su promjene u četvrtom dijelu?

U ovoj novoj verziji zakrpa koje su predstavljene, pominje se da su komentari dati tokom rasprave o prvom, drugom i trećem izdanju zakrpa i dalje eliminisani.

Nastavit ćemo ažurirati sve dok ne ovisimo o nestabilnim karakteristikama;
u kom trenutku ćemo možda htjeti početi deklarirati minimalnu verziju Rusta
je podržan, kao što je urađeno, na primjer, za GCC i Clang.

Slično tome, također smo prešli na izdanje Rust jezika za 2021.

Što se tiče ostalih izmjena koje su napravljene u ovoj novoj verziji, u najavi se spominje sljedeće:

  • Prešlo na korištenje stabilnog Rusta 1.58.0 kao referentnog kompajlera.
  • Promjene potrebne za projekat, koje još nisu uključene u glavni Rust alat, uključuju oznaku "-Zsymbol-mangling-version=v0" (očekuje se u Rust 1.59.0) i mod "maybe_uninit_extra" (očekuje se u Rust 1.60.0) .
  • Dodane su automatske provjere dostupnosti Rust alata i njihove prikladnosti, a proširena je i mogućnost testiranja Rust podrške na sistemu.
  • Predlažu se nove apstrakcije kako bi mogli pristupiti tablicama identifikatora uređaja ("IdArray" i "IdTable") iz Rust koda.
  • Dodati slojevi za pozivanje funkcija koje se odnose na tajmer (okvir sata).
  • Kontrolori platforme su sada definirani kroz implementacije osobina.
  • Dodan je novi makro kako bi se pojednostavila registracija drajvera platforme i predložen je novi generički predložak drajvera.
  • Dodani su novi makroi za "dev_*" strukture.
  • Dodane nove metode "{read,write}*_relaxed" za IoMem tip .
  • Uklonjeno svojstvo FileOpener radi pojednostavljenja operacija datoteka.
  • Dodan parametar "ThisModule" broju argumenata proslijeđenih tokom registracije kontrolera.
  • Predložen je tipičan predložak za kreiranje modula kernela u Rust jeziku.

Konačno, ako ste zainteresirani da saznate više o ovoj novoj verziji, možete pogledati 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.